Springboot新增Jsp的支援
阿新 • • 發佈:2018-11-27
(1) 建立Maven project;
(2) 在pom.xml檔案新增依賴;
<!-- spring boot parent節點,引入這個之後,在下面和spring boot相關的就不需要引入版本了; --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.1.RELEASE</version> </parent> <!-- 指定JDK的版本 --> <properties> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring boot 熱部署 : 此熱部署會遇到 java.lang.ClassCastException 異常 --> <!-- optional=true,依賴不會傳遞,該專案依賴devtools;之後依賴myboot專案的專案如果想要使用devtools,需要重新引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <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> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> </dependencies> <!-- 這是springboot devtools的plugin --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--fork : 如果沒有該項配置,肯呢個devtools不會起作用,即應用不會restart --> <fork>true</fork> </configuration> </plugin> </plugins> </build>
(3) 配置application.properties支援jsp
# 頁面預設字首目錄
spring.mvc.view.prefix=/WEB-INF/jsp/
# 響應頁面預設字尾
spring.mvc.view.suffix=.jsp
# 自定義屬性,可以在Controller中讀取
application.hello=Hello Angel From application
(4) 編寫測試Controller
package com.springboot.controller; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * Springboot新增JSP頁面的使用方式 * @ClassName HelloController * @Description * @Author Huang * @Date 2018年11月13日 下午7:30:38 */ @Controller public class HelloController { @RequestMapping("/hello") public String hello(Map data){ data.put("msg", "這是測試jsp頁面的引數傳遞"); return "index"; } }
(5) 編寫JSP頁面
在該目錄下建立index.jsp檔案
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> ${msg} </body> </html>
(6) 編寫啟動類App.java
package com.springboot.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
/**
* 程式的啟動類
* @ClassName App
* @Description
* @Author Huang
* @Date 2018年11月13日 下午7:39:09
*/
@SpringBootApplication
@ComponentScan(basePackages = "com.springboot")
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
測試地址輸入:http://localhost:8080/hello