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

使用IntelliJ运行Spring MVC项目仅跳转Tomcat页面的解决方法

解决Spring MVC项目跳转到Tomcat默认页面的问题

结合你使用的Spring 5.0.4、Tomcat 9.0.2和Maven项目环境,以及给出的配置,咱们一步步排查这个问题:

1. 检查IntelliJ的Tomcat部署配置

这是最常见的原因之一:

  • 打开Run/Debug Configurations,找到你的Tomcat配置,切换到Deployment标签页
  • 查看Application context字段:如果这里设成了非/的值(比如你的项目名),那你需要访问http://localhost:8080/你的项目名才能进入项目,而不是直接访问http://localhost:8080
  • 如果想直接通过根路径访问,把Application context改成/,这样部署后你的项目会覆盖Tomcat的默认ROOT项目

2. 配置默认页面映射

你的web.xml里没有配置welcome-file-list,也没在Spring MVC里设置根路径的视图映射,Tomcat会默认找自身的欢迎页:

  • 方法一:在web.xml里添加欢迎页配置:
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

确保你的webapp目录下存在index.jsp(或你指定的其他页面)

  • 方法二:在dispatcher-servlet.xml里添加视图控制器,直接映射根路径到你的首页:
<mvc:view-controller path="/" view-name="index"/>

同时要确保你已经配置了视图解析器,比如:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>

这样Spring会找到/WEB-INF/views/index.jsp作为首页

3. 补全dispatcher-servlet.xml的关键配置

你给出的dispatcher-servlet.xml代码不完整,这会导致Spring MVC无法正常工作:

  • 必须添加组件扫描,让Spring能找到你的控制器类:
<context:component-scan base-package="com.yourpackage.controller"/>

把com.yourpackage.controller替换成你实际的控制器所在包路径

  • 开启MVC注解驱动,支持@GetMapping、@Controller等注解:
<mvc:annotation-driven/>

4. 确保控制器正确映射根路径

如果想用控制器来处理首页请求,要编写对应的控制器方法:

@Controller
public class HomeController {
    @GetMapping("/")
    public String showHomePage() {
        return "index"; // 对应视图解析器配置的index.jsp
    }
}

注意这个控制器必须在component-scan指定的包范围内,否则Spring无法扫描到它

5. 清理Tomcat默认ROOT项目

如果你的Tomcat安装目录下的webapps/ROOT文件夹还存在,Tomcat会优先加载这个默认项目:

  • 找到Tomcat的webapps目录,删除ROOT文件夹
  • 或者在IntelliJ部署时把你的项目设置为ROOT(参考第一步的Application context设置),覆盖默认的ROOT项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:55:19