温馨提示×

温馨提示×

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

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

java tomcat为何报404

发布时间:2026-10-13 03:33:00 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

在 Java + Tomcat 场景下,404 表示“请求的资源在服务器上找不到”,但Tomcat 本身是正常启动的。常见原因可以按“访问路径”从外到内排查:


一、URL 路径问题(最常见)

1. 项目上下文路径(Context Path)写错

例如:

  • 项目名:demo
  • 正确访问:http://localhost:8080/demo/index.jsp
  • 错误访问:http://localhost:8080/index.jsp

✅ 查看方式:

  • server.xml 中:
<Context path="/demo" docBase="demo"/>
  • 或 webapps/demo 目录是否存在

2. Servlet 映射路径错误

@WebServlet("/hello")

访问应为:

http://localhost:8080/项目名/hello

❌ 常见错误:

  • 少了 /
  • 多写了项目名
  • 访问了 /WEB-INF/xxx(受保护目录,不能直接访问)

二、项目未正确部署

3. 项目没放进 webapps

Tomcat 默认只加载:

webapps/项目名

检查:

tomcat/webapps/demo

是否包含:

  • WEB-INF/web.xml
  • index.jsp 或编译后的 class

4. web.xml 配置错误

<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

如果首页文件不存在 → 404


三、编译 / 打包问题

5. 使用了 Maven / Spring Boot 但没打 war

  • Maven 项目必须:
mvn clean package

生成 xxx.war

  • 放到 webapps 下

6. class 文件不在 WEB-INF/classes

Servlet 编译后应在:

WEB-INF/classes/com/xxx/Servlet.class

四、Spring / Spring MVC 项目特有原因

7. DispatcherServlet 映射不对

@RequestMapping("/user")
public class UserController {}

访问必须是:

/项目名/user

8. 静态资源被拦截

<mvc:resources mapping="/static/**" location="/static/"/>

否则 CSS/JS 会 404


五、Tomcat 配置问题

9. server.xml 中 Context 配置错误

<Context path="" docBase="demo"/>

路径和文件不匹配 → 404


10. 端口不对

http://localhost:8080

但 Tomcat 实际是 8081 / 8888


快速自查清单 ✅

  1. Tomcat 是否启动成功?
  2. 项目是否在 webapps?
  3. URL 是否包含项目名?
  4. Servlet / Controller 路径是否正确?
  5. 文件是否真的存在?

如果你愿意,可以把:

  • 访问的 URL
  • 项目结构截图
  • web.xml 或 @WebServlet

发出来,我可以直接帮你定位是哪一条原因。

向AI问一下细节

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

AI
助
手