SpringBoot整合jsp,基于IDE开发,主要解决了2个问题:
1、IDE中启动项目无法访问JSP
2、打成JAR包后无法访问JSP
问题1,解决IDE中启动项目无法访问JSP的问题,在pom中引入tomcat支持的依赖时,去掉<scope>provided</scope>,具体原因暂时不知,以后有时间再深入研究下。
<!-- tomcat支持 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!-- 这里如果加上scope = provided,在IDE开发环境下启动服务,访问页面会变成下载,如果打成jar包运行则没有问题 --> <!--<scope>provided</scope>--> </dependency>
问题2,解决打成JAR包后无法访问JSP的问题,多次测试之后发现是spring-boot-maven-plugin插件版本问题,我这里使用的springboot1.5.9版本,插件也使用1.5.9版本的话,打出来的jar包启动之后无法访问jsp
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.4.2.RELEASE</version> <!--这里使用1.4.2.RELEASE版本,打成Jar包之后访问jsp没有问题,如果使用${project.parent.version}则无法访问JSP--> <!--<version>${project.parent.version}</version>--> </plugin>
我遇到的就是这2个问题,解决之后,开发和上线都没问题了,下面是源码,可以下载参考下。
https://gitee.com/eya/springboot-jsp