springboot本身並不支持jsp,官方建議不使用jsp,而是將資源模板或靜態文件放在resource下的static和template的文件夾下;
故要使用jsp,就需要引入一些包,使用tomcat來支持jsp;
1、pom.xml
先修改打包方式爲war包,默認的是jar包
導入以下幾個jar包,
<!-- 支持jsp -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!-- <scope>provided</scope>-->
</dependency>
<!-- JSTL (JSP standard Tag Library) JSP 標準標籤庫 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
有的資料上說還要導入一個包,但是我沒有導入這個jar也是成功的,你可以看你情況,若失敗就可以導入這個jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2、導包完成後,修改你的配置文件,我的是yml格式的,
#支持jsp
spring:
mvc:
view:
prefix: /WEB-INF/
suffix: .jsp
prefix確定jsp的文件路徑,你可以改到你的路徑下;
suffix 是指定jsp文件的後綴;
3、開發你的jsp文件,並放到你配置文件配置的目錄下,這是我的目錄結構,在main文件下(java同級目錄),新建你指定的路徑,我的是 webapp---》WEB-INF---》editor.jsp,若上一步你的是/WEB-INF/jsp/ ,那這裏就是 webapp---》WEB-INF---》jsp---》editor.jsp了。
4、開發你的controller(我用controller開發,若你用servlet,可以參考其他資料,但是之前的配置是不變的)
@Controller
public class TestController {
@RequestMapping("/test")
public String test(HttpServletRequest request, HttpServletResponse response) {
return "editor";
}
}
這裏劃重點了,記住註解要是@Controller 而不是常用的@RestController,因爲後者會默認返回json數據,
RestController = Controller + responseBody
至此這樣配置完成後,重啓你的項目就可以了。直接啓動application類就可以了。
以下是給jsp頁面傳值,我採用的是 Request.setAttribute(name, value);
controller在返回的時候返回 字符串就可以了;
若你像使用其他方式,例如ModelAndView,請參考
https://www.cnblogs.com/xuange306/p/6398090.html
這裏寫的很詳細了,大牛。。。