You need to enable JavaScript to run this app. 基于Maven的SpringMVC项目Servlet无法找到第二张JSP页面问题求助
优惠活动
大模型
产品
解决方案
定价
更多

基于Maven的SpringMVC项目Servlet无法找到第二张JSP页面问题求助

问题核心原因与解决方案

1. 缺失Spring MVC核心配置项

你当前的telusko-servlet.xml缺少两个必要配置,导致DispatcherServlet无法正常处理视图跳转和静态资源请求:

  • 没有配置内部资源视图解析器,Spring无法定位到JSP文件的路径
  • 没有开启默认Servlet处理器,所有请求都被DispatcherServlet拦截,包括JSP资源的访问请求

修正后的telusko-servlet.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<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.telusko"></ctx:component-scan>
   <!-- 开启默认Servlet处理器,处理静态资源、JSP等非Controller请求 -->
   <mvc:default-servlet-handler/>
   <mvc:annotation-driven/>
   <!-- 配置视图解析器,自动拼接前缀后缀 -->
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <!-- 如果你的JSP放在webapp根目录,前缀就写/,如果放在WEB-INF/jsp下就写/WEB-INF/jsp/ -->
       <property name="prefix" value="/"/>
       <property name="suffix" value=".jsp"/>
   </bean>

</beans>

同步修改AddController代码

配置视图解析器后,无需再写.jsp后缀,直接返回视图名即可:

@RequestMapping("/add")
public String add()
{
    return "display";
}

临时替代方案

如果不想配置视图解析器,也可以直接在Controller返回值前加forward前缀:

@RequestMapping("/add")
public String add()
{
    return "forward:/display.jsp";
}

2. Tomcat 10兼容性问题

Tomcat 10及以上版本采用Jakarta EE规范,所有javax.servlet相关包全部重命名为jakarta.servlet,如果你的Spring版本低于5.3,默认使用的是javax.servlet包,会出现类找不到的异常,解决方案二选一:

  • 降级使用Tomcat 9.x版本,兼容旧的javax.servlet规范
  • 升级Spring版本到5.3+,并将所有Servlet相关依赖替换为Jakarta EE版本的依赖

3. 额外检查项

  • 确认display.jsp放在src/main/webapp根目录下,和index.jsp同级
  • 清理Tomcat工作目录,重新发布项目后再测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 10:03:04