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

Spring MVC项目名称为何出现在GET请求的URL中?

问题分析与解决

你遇到的问题是因为Tomcat部署项目时默认将项目名作为上下文路径(Context Path),所以访问路径会带上项目名spring-mvc-app1。你的Spring MVC配置本身没有问题,DispatcherServlet已经映射到根路径/,但上下文路径的设置导致了完整路径的变化。

解决办法

方法1:修改Eclipse中Tomcat的部署上下文路径

  1. 打开Eclipse的Servers视图,右键点击你的Tomcat服务器,选择Add and Remove...
  2. 在弹出的窗口中选中你的spring-mvc-app1项目,点击右侧的Edit按钮
  3. 在编辑界面的Context path输入框中,清空内容(或者填入/),点击Finish
  4. 重启Tomcat服务器,此时访问路径就会变成localhost:9090/hello

方法2:通过Maven配置修改最终打包名称(适用于Maven项目)

如果你的项目是Maven管理的,可以在pom.xml中添加以下配置:

<build>
    <finalName>ROOT</finalName>
</build>

Tomcat默认会将名为ROOT.war的项目部署为根上下文(即上下文路径为空),这样无论是在Eclipse中运行还是打包部署,都不会出现项目名前缀。

验证配置

你的Spring MVC相关配置(SpringConfig和SpringMvcDispatcherServletInitializer)都是正确的:

  • @ComponentScan正确扫描了项目包
  • DispatcherServlet映射到了根路径/
  • 视图解析器配置也正常

所以核心问题就是Tomcat的上下文路径设置,调整后就能达到你期望的访问路径。

内容的提问来源于stack exchange,提问作者JohnEdwards-8

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:51:20