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