温馨提示×

温馨提示×

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

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

java tomcat为何报404错

发布时间:2026-09-02 07:46:55 来源:亿速云 阅读:101 作者:小樊 栏目:编程语言

Java + Tomcat 环境中,出现 404(Not Found) 通常表示:
请求的资源(URL)在服务器上找不到

下面按最常见原因 → 排查方法给你总结:


一、最常见原因

1️⃣ 访问的 URL 写错了

例如:

  • 项目名写错
  • 路径大小写错误(Linux 下区分大小写)
  • 少了 /

✅ 正确示例:

http://localhost:8080/项目名/servlet路径

❌ 错误示例:

http://localhost:8080/ProjectName/login   (实际是 projectname)

2️⃣ 项目没有成功部署到 Tomcat

检查:

  • webapps 目录下是否有你的项目文件夹
  • 是否有 WEB-INF/web.xml

✅ 正常结构:

webapps/
 └── myapp/
     ├── WEB-INF/
     │   └── web.xml
     └── index.jsp

3️⃣ web.xml 配置错误

常见问题:

  • <url-pattern> 写错
  • servlet 未注册
  • 忘记 <servlet-mapping>

示例:

<servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.xxx.LoginServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/login</url-pattern>
</servlet-mapping>

访问应为:

/project/login

4️⃣ 使用了注解但 URL 不匹配(Servlet 3.0+)

@WebServlet("/login")
public class LoginServlet extends HttpServlet {}

访问必须是:

/project/login

❌ 常见错误:

/project/Login
/project/login.do

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

  • Controller 没加 @RequestMapping
  • 方法没加 @GetMapping / @PostMapping
  • context-path 配置不同

示例:

@RestController
@RequestMapping("/api")
public class UserController {
    @GetMapping("/user")
    public String user() { }
}

访问:

/project/api/user

6️⃣ Tomcat 端口或项目未启动

  • Tomcat 没启动
  • 端口被占用(默认 8080)
  • 项目启动报错(看 catalina.out / logs)

二、快速自查清单 ✅

  1. 项目是否在 webapps
  2. URL 是否完全匹配
  3. servlet 是否配置或注解正确
  4. 是否区分大小写
  5. Tomcat 日志是否有报错

三、如果你愿意

你可以把下面信息发我,我可以直接帮你定位:

  • Tomcat 版本
  • 项目结构
  • web.xml 或 Servlet 代码
  • 你访问的完整 URL
  • 控制台 / logs 报错信息

我可以精确到哪一行配置错了

向AI问一下细节

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

AI