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

阅读 234
评论
    1 个回答
    • 504

    解决了!原因:启动的问题,直接启动没有在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

      撰写回答

      登录后参与交流、获取后续更新提醒

      相似问题
      推荐文章