温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

tomcat为何报404错误

发布时间:2026-10-07 13:34:43 来源:亿速云 阅读:83 作者:小樊 栏目:系统运维

Tomcat 报 404 错误的本质含义是:服务器接收到了请求,但没有找到对应的资源(页面 / 接口 / 文件)。下面从常见原因到排查思路系统说明。


一、404 的常见原因

1️⃣ 访问路径写错(最常见)

  • 项目未配置 应用上下文(Context Path)
    • 例如:
      • 项目名是 myapp
      • 正确访问:http://localhost:8080/myapp/index.jsp
      • 错误访问:http://localhost:8080/index.jsp
  • URL 大小写错误(Linux 下严格区分)
  • 多写了或少写了 /

2️⃣ 项目没有成功部署

Tomcat 启动正常,但项目没部署上:

检查方法:

  • webapps 目录下是否有你的项目文件夹
  • tomcat/logs/catalina.out 是否有部署异常
  • 访问 http://localhost:8080 能看到 Tomcat 首页,但项目访问 404

3️⃣ web.xml / 注解配置错误

Servlet 场景

@WebServlet("/hello")

访问应为:

/项目名/hello

常见错误:

  • @WebServlet 没加
  • url-pattern 配置错误
  • web.xml 中 <servlet-mapping> 写错

4️⃣ Spring / Spring Boot 项目路径问题

  • Controller 没加 @RequestMapping
@RequestMapping("/api")
public class TestController {}

访问:/项目名/api/xxx

  • Spring Boot 打成 war 包 部署到 Tomcat:
    • 必须继承 SpringBootServletInitializer
    • 否则 404

5️⃣ 静态资源不存在

例如:

http://localhost:8080/myapp/css/style.css

但:

  • css/style.css 文件不存在
  • 被拦截器 / 安全框架拦截

6️⃣ 拦截器 / 过滤器 / 权限框架拦截

  • Spring Security
  • Shiro
  • 自定义 Filter

现象:

  • 直接 404
  • 或先 302 再 404

7️⃣ Tomcat 配置问题

  • server.xml 中 <Context> 配置错误
  • docBase 路径不存在
  • 使用了错误的 Host

二、快速排查步骤(按优先级)

  1. ✅ 确认 Tomcat 是否启动成功
  2. ✅ 确认项目是否部署成功(webapps 目录)
  3. ✅ 确认访问 URL 是否包含项目名
  4. ✅ 查看 logs/catalina.out
  5. ✅ 用绝对路径测试静态文件
  6. ✅ 检查 Servlet / Controller 映射

三、一句话总结

Tomcat 404 = 请求到了服务器,但找不到你写的资源

如果你愿意,可以把:

  • 访问的 URL
  • 项目结构
  • Tomcat 日志片段

发给我,我可以帮你精准定位是哪一类 404。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手