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

IntelliJ创建Maven Servlet项目:访问路径异常疑问

问题分析与解决

这不是正常行为,说明你的Servlet映射或项目配置存在问题,以下是常见原因和修复方案:

1. Servlet映射同时包含根路径和指定路径

检查你的Servlet配置(web.xml或者注解),看是否给DemoServlet同时配置了多个映射路径:

  • 如果用注解:查看@WebServlet注解的urlPatterns是否同时包含"/"和"/DemoServlet",示例错误代码:
    @WebServlet(urlPatterns = {"/", "/DemoServlet"})
    public class DemoServlet extends HttpServlet { ... }
    
    只需保留"/DemoServlet"即可解决。
  • 如果用web.xml:检查是否存在多个<url-pattern>指向同一个Servlet,示例错误配置:
    <servlet-mapping>
        <servlet-name>DemoServlet</servlet-name>
        <url-pattern>/</url-pattern>
        <url-pattern>/DemoServlet</url-pattern>
    </servlet-mapping>
    
    删除<url-pattern>/</url-pattern>这一行,仅保留指定路径的映射。

2. 项目默认欢迎页被配置为Servlet

Tomcat默认会加载index.jsp、index.html这类欢迎页,若你的项目在web.xml里把欢迎页设为DemoServlet,会导致根路径直接访问到该Servlet:
检查web.xml中的<welcome-file-list>配置,示例错误配置:

<welcome-file-list>
    <welcome-file>DemoServlet</welcome-file>
</welcome-file-list>

删除该配置或恢复为默认欢迎页(如index.jsp)即可。

3. 误将DemoServlet设为Tomcat默认Servlet

Tomcat自带的默认Servlet负责处理静态资源和未匹配的请求,若你把DemoServlet的映射设为"/",会覆盖默认Servlet,导致所有未匹配的请求都走它。修复方式是将DemoServlet的映射改为"/DemoServlet",避免使用"/"。

验证修复

修改配置后重启Tomcat:

  • 访问http://localhost:8080应显示Tomcat默认页面或项目自定义欢迎页(如有)
  • 仅访问http://localhost:8080/DemoServlet时才会显示"Hello World!"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 05:55:23