为啥我在运行动态 Web 项目时收到 HTTP 404 错误? [复制]

Posted

技术标签:

【中文标题】为啥我在运行动态 Web 项目时收到 HTTP 404 错误? [复制]【英文标题】:Why I got HTTP 404 error when I run my dynamic web project? [duplicate]为什么我在运行动态 Web 项目时收到 HTTP 404 错误? [复制] 【发布时间】:2021-03-14 13:50:40 【问题描述】:

当我运行我的项目时,它显示 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 映射名称。为什么会这样,请帮助我!

【问题讨论】:

【参考方案1】:

http://localhost:8085/FirstProject/First 是正确的 URL。格式如下:

http://<IP_ADDRESS>:<PORT>/<CONTEXT_NAME>/<ADAPTER_NAME>

ADAPTER_NAME 是我们在 servlet 映射中作为 url 模式给出的名称。 CONTEXT_NAME 通常是 ProjectName 或 WAR 名称。

【讨论】:

以上是关于为啥我在运行动态 Web 项目时收到 HTTP 404 错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Node 的 HTTP 服务器上收到这么多连接事件?

身份服务器4:为啥我在调用授权控制器时收到“找不到签名密钥”

为啥我在通过 IMAP 连接到 Gmail 时收到“需要 Web 登录”消息?

为啥我在运行 Locust 时收到 403 错误?

为啥我在 laravel 中运行测试时收到“CSRF 令牌不匹配”?

为啥我在运行查询时收到错误 -4700(尝试使用新功能模式)?