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

在刚刚用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 map ){
        map.put("msg", "hello world this is jsp");
       // model.addAttribute("msg", "hello world");  传入参数 Model model
        return   "hello";
    }
}

将访问路径中的hello 改为 index,重启项目,再次访问,得到Whitelabel Error Page 404错误
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第1张图片

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

      
           org.springframework.boot  
           spring-boot-starter-tomcat  
         provided  
       

       
         org.apache.tomcat.embed  
         tomcat-embed-jasper  
         provided
      

来看本项目的结构
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第2张图片

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

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

spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第3张图片
application.properties配置也没有问题。
再来查看pom关于支持jsp以及servlet依赖的引入也没有问题
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第4张图片
这就奇怪了,我们再处理请求方法中加上打印日志,看是否能正常获取请求。
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第5张图片

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

所以考虑是否是系统没有引入jar包,在工程左侧中external 包看到是引入了
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第6张图片
但是在项目右侧maven project中没有看到相关jar包
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第7张图片

所以觉得是不是,原来自己以为只要在pom文件中添加依赖保存以后,就会自动引入相关jar,看来不是这个样子
,需要刷新maven ,刷新后看到这次有了引入的jar包
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第8张图片

重新编译、再次重启之后,访问,这次应该可以了吧,
然而现实是残酷的。得到依然恐怖的:Whitelabel Error Page
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第9张图片
在网上看到,还有一个原因
4、idea的pom里面识别不了provided的,所以必须注释掉
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第10张图片
然后再次重启,终于得到想要的结果。
spring boot整合jsp报错 Whitelabel Error Page 500或者404 问题处理_第11张图片

你可能感兴趣的:(spring,boot整合jsp报错,Whitelabel,Error,spring,boot)