SpringBoot之JSP

强颜欢笑 提交于 2019-12-04 19:40:29

说明:由于官方对jsp不友好,在内嵌的servlet容器中运行一个Spring Boot应用时(并打包成一个可执行的存档archive),容器对JSP的支持有一些限制。

1. tomcat只支持war的打包方式,不支持可执行的jar。

2. 内嵌的Jetty目前不支持JSPs。

3. Undertow不支持JSPs。

这样推荐使用模版引擎

正如REST web服务,你也可以使用Spring MVC提供动态HTML内容。Spring MVC支持各种各样的模板技术,包括Velocity,

FreeMarker和JSPs。很多其他的模板引擎也提供它们自己的Spring MVC集成。

Spring Boot为以下的模板引擎提供自动配置支持:

1. FreeMarker

2. Groovy

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!