說明:因爲官方對jsp不友好,在內嵌的servlet容器中運行一個Spring Boot應用時(並打包成一個可執行的存檔archive),容器對JSP的支持有一些限制。
java
1. tomcat只支持war的打包方式,不支持可執行的jar。 web
2. 內嵌的Jetty目前不支持JSPs。 spring
3. Undertow不支持JSPs。 apache
這樣推薦使用模版引擎tomcat
正如REST web服務,你也能夠使用Spring MVC提供動態HTML內容。Spring MVC支持各類各樣的模板技術,包括Velocity,mvc
FreeMarker和JSPs。不少其餘的模板引擎也提供它們本身的Spring MVC集成。app
Spring Boot爲如下的模板引擎提供自動配置支持:webapp
1. FreeMarkerjsp
2. Groovyide
3. Thymeleaf
4. Velocity
注:若是可能的話,應該忽略JSPs,由於在內嵌的servlet容器使用它們時存在一些已知的限制。
當你使用這些引擎的任何一種,並採用默認的配置,你的模板將會從src/main/resources/templates目錄下自動加載。
使用步驟:
新建的項目因爲沒有webapp目錄,因此須要自行添加
1.添加webapp目錄
src/mian/webapp/WEB-INF 將jsp文件放在該目錄下
2.配置application.properties
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
3.須要對 jsp的解析器
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency>
4.若是有須要本身添加對jstl的支持
<dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
5.編寫控制器訪問
@RequestMapping("/") public String welcome(Model model) { model.put("time", new Date()); return "welcome"; //jsp文件名 }
6.idea運行main方法找不到jsp的解決方案
用 SpringBoot插件運行就能夠了。
Sts怎麼運行都沒有問題