- 只能打包成
war
类型的格式; - 必须将打好的
war
包放到外部tomcat容器中运行。
步骤:
- 引入外部tomcat依赖:
<!-- SpringBoot web 核心组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- SpringBoot 外部tomcat支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
- 在application.properties配置文件中配置jsp文件路径和后缀:
spring.mvc.view.prefix=/WEB-INF/jsp/ #视图(jsp)文件路径
spring.mvc.view.suffix=.jsp #视图(jsp)文件后缀
-
在项目中新建视图文件存储路径:
这里一定不能把JSP页面放到resources/jsp
路径下,否则项目运行后访问不到此路径。
正确的存放位置应该是src/main/webapp/WEB-INF/jsp/*.jsp
-
注意事项:
使用IDEA生成SpringBoot2.0 的整合jsp项目时,会在xxxApplication.java
统计目录下 自动生成一个ServletInitializer.java
文件,此文件不可删,因为springboot整合jsp, 需要使用外部的http服务器(Tomcat/Jetty)来部署打包好的war
包, 此ServletInitializer.java
文件就是为了初始化该外部http服务器用的。