当我运行我的项目时,它显示404错误。为了成功运行,我必须在URL中键入我的班级名称。我的Servlet类First.java
import java.io.*;
import javax.servlet.*;
@WebServlet("/First")
public class First implements Servlet {
public void init(ServletConfig req) throws ServletException {
System.out.println("Initial");
}
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("Service");
}
public void destroy()
{
}
}
我的XML文件web.xml
<?xml version="1.0" encoding="UTF-8"?>
<element>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>FirstProject</display-name>
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>firstServlet</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
</element>
像
http://localhost:8085/FirstProject/
显示404错误,但
http://localhost:8085/FirstProject/First
提供所需的输出。当我在登录项目中单击“提交”按钮时,它必须提供所需的输出页面,但未显示。我必须输入servlet URL映射名称。为什么会发生这种情况,请帮帮我!
http:// localhost:8085 / FirstProject / First是正确的URL。格式如下:
http://<IP_ADDRESS>:<PORT>/<CONTEXT_NAME>/<ADAPTER_NAME>
ADAPTER_NAME是我们在servlet映射中作为url-pattern给出的名称。 CONTEXT_NAME通常是ProjectName或WAR名称。