SpringMVC找不到对应的页面

本文介绍了一个关于SpringMVC框架中页面跳转不正常的问题及其解决办法。主要原因是方法上误用了@ResponseBody注解,导致返回的是字符串而非视图。文章提供了正确的视图解析器配置,并解释了如何确保请求路径及web.xml中servlet-mapping配置的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

确认springmvc配置文件视图解析器配置正确。

<!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

确认请求路径正确。

确认web.xml中servlet-mapping配置正确。

最后页面跳转完成页面显示返回视图名称。

问题在于:

在方法上多写了@ResponseBody,所以在返回的时候并没有返回对应页面,而是返回了string。

转载于:https://www.cnblogs.com/syq816/p/9041782.html

### 关于Spring MVC项目中无法访问JSP页面的原因分析 在Spring MVC应用中遇到无法访问JSP页面的情况,通常是因为视图解析器配置不当或者资源映射设置有误。具体来说: 当试图渲染JSP视图时,如果未正确配置`InternalResourceViewResolver`或其属性,则可能导致服务器不到对应的物理文件位置[^1]。 另外一种常见情况是在Spring Boot环境中,默认情况下并不支持直接部署和呈现位于`src/main/webapp/WEB-INF/jsp`目录下的`.jsp`文件作为模板引擎的一部分;这是因为Tomcat Embedded对于静态内容的支持有限制[^3]。 为了确保能够正常显示JSP页面,还需要注意防止浏览器直接请求这些敏感内部路径上的资源(如`*.jsp`),这可以通过自定义拦截器来实现,从而强制所有的页面请求都经过控制器处理后再返回给客户端[^2]。 最后,确认项目的依赖项里包含了必要的Servlet API以及JSTL库,并且已经将它们添加到了构建工具(比如Maven)的POM文件之中[^4]。 针对上述提到的各种可能性,下面给出具体的解决措施: #### 配置视图解析器 确保应用程序上下文中存在如下所示的Bean定义用于指定前缀与后缀参数: ```xml <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> ``` #### 使用ModelAndView对象进行重定向 每当需要展示某个特定的JSP页面时,应该创建并填充一个`ModelAndView`实例传递给它所关联的名字字符串,而不是尝试让前端自行拼接完整的URL地址: ```java @RequestMapping("/showPage") public ModelAndView showMyPage() { return new ModelAndView("myCustomPage"); } ``` #### 添加安全机制 为了避免潜在的安全风险,应当利用过滤器或是AOP切面编程技术对所有通往受保护区域内的HTTP调用实施身份验证检查逻辑,只有合法用户才能继续前进到达目标终点. #### 检查外部资源配置 确保任何额外引入的样式表单、脚本标签等辅助性Web组件均能被正确识别加载进来,可通过调整`application.properties`里的相关选项达成目的,例如允许跨域资源共享(CORS)[^5]: ```properties spring.resources.static-locations=classpath:/static/,file:./uploads/ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值