springboot內部對jsp的支持並不是特別理想,而springboot推薦的視圖是Thymeleaf,對於java開發人員來說還是大多數人員喜歡使用jsp,接下來我們來講解下springboot是如何支持jsp的。
本章目標
整合springboot web項目支持jsp作為視圖輸出。
1、創建項目
2、配置pom依賴
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.1.5.RELEASE</version> </parent> <groupId>org.xiaoguai</groupId> <artifactId>springboot-jsp</artifactId> <version>1.0-SNAPSHOT</version> <properties> <!--jdk版本--> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- servlet 依賴 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <!-- <scope>provided</scope>--> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <!-- tomcat 的支持.--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!--springboot tomcat jsp開啟支持--> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> </dependencies> </project>
3、創建啟動器和application.yml配置文件,我這里使用的是插件
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
spring: mvc: view:
#這里沒有創建WEB-INF文件夾,所有前綴就不加 prefix: /jsp/ suffix: .jsp server: port: 8089
4、創建webapp文件
5、創建index.jsp
我們在webapps/jsp目錄下創建一個index.jsp用於測試我們的配置是否已經支持了jsp,新建jsp文件
6、創建IndexController
可以看到上圖我們在IndexController配置文件內添加了index()方法配置了@RequestMapping注解來描述index()方法是一個可以被springmvc管理的請求視圖。我們的index()方法返回值這里是"index"。
為什么我們返回"index",還記得上述步驟中配置的application.yml文件的springmvc請求前綴以及后綴,那么當我們訪問/index時springmvc就會去找/webapp/jsp/index.jsp文件。
為什么我們返回"index",還記得上述步驟中配置的application.yml文件的springmvc請求前綴以及后綴,那么當我們訪問/index時springmvc就會去找/webapp/jsp/index.jsp文件。
7、重啟項目
重啟項目我們嘗試訪問127.0.0.1:8089/index,可以看到效果,證明已經完成了springboot與jsp的整合: