Springboot集成jsp页面报404。最近搭建一个简单的Springboot+maven+jsp的项目时,出现访问jsp页面时一直出404,错误信息是:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Wed Apr 15 10:44:30 CST 2020
There was an unexpected error (type=Not Found, status=404).
/index.jsp
在网上找了一些方法,但都没有解决
(1):方法一
Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包
原因:spring-boot会自动加载启动类所在包下及其子包下的所有组件.
经排查后发现我此处无问题
(2)方法二:
在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用:
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
当pom文件下的spring-boot-starter-paren版本低时使用:
spring.view.prefix=/
spring.view.suffix=.jsp
因为无法判断我版本高还是低,两种方法我都试过,还是无效
(3)方法三
控制器的URL路径书写问题
@RequestMapping(“xxxxxxxxxxxxxx”)
实际访问的路径与”xxx”不符合.
这低级错误那肯定也排除了
(4)当我反复观看代码寻找错误时,发现一个问题,就是发现学习视频中的代码中在src文件夹下存在target文件夹,但是我的却没有。并且在配置该模块的pom.xml文件时,需要在bulid标签中加上以下代码。
<build>
<!-- 指定jsp编译后的存放目录-->
<resources>
<resource>
<!-- jsp原来的目录-->
<directory>src/main/webapp</directory>
<!-- 存放的目录和文件 -->
<targetPath>META-INF/resources</targetPath>
<!-- 指定处理的目录和文件-->
<includes>
<include>**/*.*</include>
</includes>
而存放的目录和文件的路径正是处于target文件夹下。
于是我开始寻找让target文件出现的方法。
只要找到对应模板下Lifecycle下的install,点击,成功运行后target文件夹就会生成。
但我在IDEAproject structure发现target虽然存在,但是在src目录下却依然不显示。
再次查找后终于解决:
只需要把内容根目录中对target对应的设置删除,就是点击图右中红色那个叉,应用后target目录成功出现。
重新启动Application启动类问题成功解决。