springboot-jsp整合。
一般都是用thymeleaf模板引擎的~~
不过有的老项目需要改成springboot就要整合jsp嘛。
步骤:
1.maven依赖:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope> ##provided 要删除
</dependency>
<!--springboot中使用jsp-start-->
<!---引入springboot内嵌的tomcat对jsp的解析包-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
2.webapp编译目录配置(巨坑)
这个是真的巨坑,我搞得时候,就是因为这个一直解析不了jsp~~~
添加如下配置到pom.xml 这样tomcat才可以解析到jsp文件~~~
<build>
<resources>
<!--源文件位置-->
<directory>src/main/webapp</directory>
<!--编译到META-INF/resources,该目录不能随便写-->
<targetPath>META-INF/resources</targetPath>
<includes>
<!--要把哪些文件编译过去,**表示webapp目录及子目录,*.*表示所有-->
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
这是我的项目目录:
3.配置视图解析器映射
这样springboot的视图就会解析到webapp/WEB-INF/jsp里面去了。
springboot的application.yml(或者properties)配置修改:
spring
mvc:
#视图解析器
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
4.可能出现的问题
- pom依赖问题
- 视图解析器路径要准确
- (最重要的)pom.xml里面要配置jsp的编译目录!!!否则解析不了jsp!
- 如果以上没问题 那试一下
坑
整合的项目改写了内嵌的tomcat 要打包成war包才能运行!!!!