You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tomcat运行Servlet时出现404错误,请求排查部署问题

Tomcat Servlet 404错误排查与解决

以下是导致你遇到404错误的核心问题及对应解决方法:

  • 部署描述符根元素错误
    你的配置文件使用了<web-apps>作为根元素,Tomcat的标准部署描述符根元素必须是<web-app>,且需指定合法的schema约束,否则容器无法解析配置。修正后的完整web.xml如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            <servlet-name>Ajay</servlet-name>
            <servlet-class>Ajay</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>Ajay</servlet-name>
            <url-pattern>/Ajay</url-pattern>
        </servlet-mapping>
    </web-app>
    
  • Servlet配置项含多余空格
    原配置中<servlet-name>、<servlet-class>、<url-pattern>标签内的内容前后存在空格(如Ajay),这会导致容器无法正确匹配Servlet名称与类名,必须删除这些多余空格,确保标签内内容与实际类名、映射路径完全一致。

  • 编译后的class文件位置验证
    确认已将编译生成的Ajay.class文件放置在tomcat\webapps\servlet\WEB-INF\classes目录下,Tomcat仅会加载classes目录中的字节码文件,未编译的.java文件无法被容器识别。

  • 访问URL正确性检查
    正确的访问地址应为http://localhost:8080/servlet/Ajay,其中:

    • localhost:8080是Tomcat默认地址与端口
    • servlet是你的Web应用上下文路径(对应webapps下的servlet目录)
    • /Ajay是你配置的URL映射路径

内容的提问来源于stack exchange,提问作者AJAYNAG VENGALA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:50:22