解决Servlet报404未找到

一、检查project struture

  1. 打开Project Struture
    在这里插入图片描述

  2. 检查jdk
    在这里插入图片描述

  3. 检查Modules的depencies
    在这里插入图片描述
    如果缺少servlet的jar依赖,则可以先配置tomcat,然后执行如下图的添加依赖(这种方法不适用于maven构建的项目)
    在这里插入图片描述
    把Tomcat里的jar添加进来就可以啦
    在这里插入图片描述

  4. 检查Facets的web路径是否正确

  • 第一个框指向web.xml,路径一定要对
  • 第二个框指向web的根目录,idea为web,eclipse为webroot
    在这里插入图片描述
  1. Artifacts要有内容
    在这里插入图片描述
    如果没有内容则根据下图进行添加
    在这里插入图片描述

以上这些检查完之后都没有问题,但是就是报404找不到,解决办法如下:
在这里插入图片描述
在WEB-INF里面新建一个lib目录,把所有的依赖都添加进去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
按下ctrl + a全选
在这里插入图片描述
点击OK,Apply 重启Tomcat,正常情况下应该就可以了,也有可能还是不行,太可怕了

写在最后

如果还是搞不定,就去b站看狂神说的Javaweb
真的太可怕了

### 如何解决Java Servlet配置中URL映射出现HTTP 404 Not Found的问题 #### 检查Tomcat配置与部署描述符(web.xml) 当遇到404错误时,意味着服务器无法到所请求资源。对于Servlet应用程序来说,这通常是因为Tomcat未能正确识别或定位到指定的Servlet实例。一种常见的情形是在`web.xml`文件内的<servlet>和<servlet-mapping>部分存在配置失误[^1]。 为了确保路径匹配无误,需仔细核对表单中的action属性以及<servlet-mapping>下的<url-pattern>元素是否一致。任何细微差异都可能导致客户端发出的请求被导向至不存在的位置,从而触发404状态码返回给浏览器。 ```xml <!-- web.xml 配置示例 --> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>com.example.HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> ``` 上述XML片段展示了如何在一个传统的基于`web.xml`的应用程序里声明并映射一个名为HelloWorld的Servlet到特定URL模式下。这里的关键在于保持<servlet-name>标签内定义的名字在整个文档的一致性,并且确认<url-pattern>确实指向了预期的服务端点[^2]。 #### 使用@WebServlet注解简化配置过程 自Servlet 3.0起引入的支持注解特性使得开发者可以直接在代码层面完成同样的工作而不必依赖于外部配置文件。通过向目标Servlet类添加@WebServlet标注及其相应的初始化参数,即可实现自动注册功能,进而减少因手动编辑`web.xml`带来的潜在风险[^4]。 ```java // Java 类使用 @WebServlet 注解替代 web.xml 中的相关设置 import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; @WebServlet("/toHello") // 定义 URL 映射规则 public class HelloWorldServlet extends HttpServlet { } ``` 此方式不仅提高了灵活性还增强了可读性和维护便利度;然而值得注意的是,在采用这种方式之前应当先验证当前使用的Servlet容器版本是否支持此类高级特性的运用。 #### 测试与验证 最后一步是实际运行项目并通过浏览器或其他工具发起针对已知路由地址(如http://localhost:8080/toHello)的GET/POST请求来进行效果检验。假如一切正常,则应该能够看到由对应的Servlet所产生的响应页面而非404提示信息[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值