问题:搭建springboot, 前端页面使用jsp,访问controller报错信息:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu May 03 10:21:54 CST 2018
There was an unexpected error (type=Not Found, status=404).
No message available
出现这个问题做以下几点排查:
1.访问的地址确认是否有误,是否是controller的@RequestMapping的值
2.访问时直接写@RequestMapping的值,不加项目名;例如:127.0.0.1:8080/login
3.启动类上是否有添加@ComponentScan("com.ccl") 来指定扫描包。
上面三点是在无法找到@RequestMapping的值的时候做确认,读者可以在controller方法中调试或者输出语句,判断是否能识别到@RequestMapping的值
还有就是返回jsp的时候,前端控制器解析返回找不到页面,做以下排查:
1.是否添加jsp的依赖支持
<!--启动时启动内置tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!--对jsp支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
2.在application.properties中配置返回路径的前缀和后缀,匹配实际的物理路径
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
我的页面是放在webapp中的WEB-INF/jsp中
对于springboot版本低的项目确认
spring.view.prefix=/WEB-INF/jsp/
spring.view.suffix=.jsp
只要确认以上几点,一般404问题就可以得到解决