Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.8k views
in Technique[技术] by (71.8m points)

springboot 路径映射基础问题

原因:启动的问题,直接启动没有在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 文件
image

图2:
image


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

解决了!原因:启动的问题,直接启动没有在tomcat中生成jsp的相关文件,可以使用下面的方法启动项目就可以正常访问

疑问:什么情况会出现这个问题 ?

答案如下(我是第4种原因):

出现这个异常
image
原因1:

Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包
spring-boot会自动加载启动类所在包下及其子包下的所有组件

原因2:

在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”不符合

原因4:

启动的问题,直接启动没有在tomcat中生成jsp的相关文件,可以使用下面的方法启动项目就可以正常访问了:

解决办法就是IDea右边的Maven Projects>>运行的模块>>plugins>>spring-boog>>spring-boot:run启动

image


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...