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

在IntelliJ中使用Spring无法解析MVC视图,Tomcat报404错误求助

解决Spring MVC 404错误及视图无法解析问题

看了你的代码,核心问题出在视图解析器的前缀(prefix)和后缀(suffix)配置颠倒,再加上几个必要的配置缺失,导致Tomcat找不到视图资源。下面是具体的修复步骤:


1. 修正视图解析器配置

你的InternalResourceViewResolver把prefix和suffix搞反了:

  • prefix应该是JSP文件所在的路径前缀
  • suffix应该是JSP文件的后缀名(.jsp)

错误配置:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="suffix" value="/pages/"/>
    <property name="prefix" value=".jsp"/>
</bean>

修正后(假设你的home.jsp放在WEB-INF/pages/目录下):

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

这样控制器返回"home"时,会拼接成/WEB-INF/pages/home.jsp,就能正确找到视图文件。

2. 添加Spring MVC注解驱动

在Spring配置文件(context.xml)中加入<mvc:annotation-driven/>标签,这个标签会自动注册Spring MVC处理请求必需的组件(比如请求映射处理器、参数绑定器等),缺失的话可能导致@RequestMapping注解不生效:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:ctx="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <ctx:annotation-config></ctx:annotation-config>
    <ctx:component-scan base-package="com.example"/>
    <!-- 新增注解驱动配置 -->
    <mvc:annotation-driven/>
    <!-- 修正后的视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

3. 确认JSP文件位置

确保home.jsp文件的实际路径和视图解析器配置匹配,比如:

你的项目
└── src
    └── main
        └── webapp
            └── WEB-INF
                └── pages
                    └── home.jsp

4. IntelliJ部署相关检查

  • 打开IntelliJ的Run/Debug Configurations,检查Tomcat的Deployment选项,确认你的项目Artifact被正确添加,且WEB-INF目录下的文件都包含在内
  • 清理Tomcat的work目录(一般在Tomcat安装目录/work),避免缓存旧的配置
  • 执行Build -> Rebuild Project,确保所有代码和配置都被重新编译部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:54:57