原因:启动的问题,直接启动没有在tomcat中生成jsp的相关文件,可以使用下面的方法启动项目就可以正常访问
疑问:什么情况或项目会出现这个问题 ?需要这样操作?
一个基础demo,浏览器访问http://localhost:8080/login
,找不到(昨天有一次成功访问了),提示
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Oct 17 21:37:36 CST 2020
There was an unexpected error (type=Not Found, status=404).
++++++++++++++++++++++++++++++++++++++
新发现, http://localhost:8080/
被映射到外层 src-main-resources-templates-index.html
上了(如下图2),能访问到。
++++++++++++++++++++++++++++++++++++++
错误原因:出现这个异常说明了跳转页面的url无对应的值.
可能原因1: (下有截图,应该没问题
)
Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
可能原因2:(使用版本:2.3.4.RELEASE,应该是高版本
)
在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用spring.mvc.view.prefix/spring.mvc.view.suffix
当pom文件下的spring-boot-starter-paren版本低时使用spring.view.prefix/spring.view.suffix
可能原因3:(下有代码,应该也没问题
)
控制器的URL路径书写问题
@RequestMapping(“xxxxxxxxxxxxxx”)
实际访问的路径与”xxx”不符合.
一. application.properties :
server.port=8080
server.tomcat.uri-encoding=UTF-8
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
spring.mvc.static-path-pattern=/static/**
二. Controller
@Controller
public class TestBean {
... ...
@RequestMapping(value = "login")
public String login(){
return "userLogin";
}
... ...
三. WEB-INF文件夹下有userLogin.jsp 文件
图2:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…