SpringBoot之JSP

說明:因爲官方對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怎麼運行都沒有問題

博客地址:http://my.oschina.net/wangnian

相關文章
相關標籤/搜索