1. 程式人生 > >springboot整合jsp檢視

springboot整合jsp檢視

由於springboot內建的tomcat不支援jsp,所以需要引入外部Tomcat的支援。

在建立springboot整合jsp的專案時,需要注意專案型別一定為war型別,否則會找不到頁面。因為JSP需要webapp的支援。二freemarker是在springboot內部已經支援了。

一、新建war型別的maven專案

二、pom檔案中匯入依賴:

    <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>
	
	<dependencies>
		<!-- springboot web核心元件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<!-- 引入springboot對Tomcat的支援 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
		</dependency>
		
		<!-- springboot  外部tomcat支援,專案中如果使用jsp,就必須在這裡新增此依賴 -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
	</dependencies>

三、在src/main/resources下面新建application.properties檔案並新增配置(springboot預設讀取 名字為application.properties的檔案裡面的配置資訊):

key是不可以自己亂寫的,因為springboot定義好了這些Key,底層就是通過識別這些key去工作的。

注意我們在建立WEB-INF/jsp檔案路徑的時候不要建在resources檔案下面,因為resources是springboot在讀取jar包的時候讀取配置檔案用的,沒有對jsp進行支援,反而會有jsp問價被別人訪問到的風險。所以我們在src/main/webapp下面建立WEB-INF/jsp資料夾。

四、編寫Controller程式碼:

/**
* <p>Title: JspController</p>  
* <p>Description:JSP整合springboot </p>  
* @author wyh
* @date Dec 1, 2018
*/

@Controller//使用Jsp想實現頁面跳轉,不需要返回json,所以此處仍使用@Controller,而不使用@RestController
public class JspController {
	
	
	@RequestMapping("jspIndex")
	public String jspIndex() {
		return "jspSpringboot";//在application.properties中已經定義了檢視路徑的字首和字尾,所以此處只需要根據完整路徑及字首和字尾來定義返回檔名
	}

}

五、編寫啟動程式

@SpringBootApplication
public class JspApp {
	public static void main(String[] args) {
		SpringApplication.run(JspApp.class, args);
	}
}

啟動專案,訪問成功: