spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理

本文讲述在Idea创建的Spring Boot项目整合JSP时遇到访问报错问题。先是出现500错误,后变为404错误。分析了多种可能原因,如启动类位置、视图解析器配置、jar包引入等,最终发现需刷新Maven并注释掉pom里的provided,重启后问题解决。

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

在刚刚用idea创建的spring boot 项目整合jsp时,
一直不能正常访问,报错信息如下图
There was an unexpected error (type=Internal Server Error, status=500).
在这里插入图片描述

根据错误提示说是返回的视图名与路径名重复,来看controller类代码

@Controller
public class HelloController {
    @RequestMapping("hello")
    String hello(Map<String,String> map ){
        map.put("msg", "hello world this is jsp");
       // model.addAttribute("msg", "hello world");  传入参数 Model model
        return   "hello";
    }
}

将访问路径中的hello 改为 index,重启项目,再次访问,得到Whitelabel Error Page 404错误
在这里插入图片描述

网上找了错误原因归类如下
1、Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
2、在springboot的配置文件:application.properties中关于视图解析器的配置问题:
spring.view.prefix/spring.view.suffix这个东西我感觉不是主要的原因,但是我又没有遇到过解决该问题使用该方法的场景
3、spring boot 不推荐使用jsp,需要导入支持jsp相关 jar包

    <dependency>  
           <groupId>org.springframework.boot</groupId>  
           <artifactId>spring-boot-starter-tomcat</artifactId>  
         <scope>provided</scope>  
     </dependency>  

     <dependency>  
         <groupId>org.apache.tomcat.embed</groupId>  
         <artifactId>tomcat-embed-jasper</artifactId>  
         <scope>provided</scope>
     </dependency> 

来看本项目的结构
在这里插入图片描述

看到结构也没有问题,
再来看application.properties配置文件

spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp

在这里插入图片描述
application.properties配置也没有问题。
再来查看pom关于支持jsp以及servlet依赖的引入也没有问题
在这里插入图片描述
这就奇怪了,我们再处理请求方法中加上打印日志,看是否能正常获取请求。
在这里插入图片描述

重启,再次访问 看到控制台打印了刚刚添加的日志,表明程序能正常获取请求,但是无法解析jsp
在这里插入图片描述

所以考虑是否是系统没有引入jar包,在工程左侧中external 包看到是引入了
在这里插入图片描述
但是在项目右侧maven project中没有看到相关jar包
在这里插入图片描述

所以觉得是不是,原来自己以为只要在pom文件中添加依赖保存以后,就会自动引入相关jar,看来不是这个样子
,需要刷新maven ,刷新后看到这次有了引入的jar包
在这里插入图片描述

重新编译、再次重启之后,访问,这次应该可以了吧,
然而现实是残酷的。得到依然恐怖的:Whitelabel Error Page
在这里插入图片描述
在网上看到,还有一个原因
4、idea的pom里面识别不了provided的,所以必须注释掉
在这里插入图片描述
然后再次重启,终于得到想要的结果。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜的中年程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值