SpringBoot之JSP

时间:2022-06-26
本文章向大家介绍SpringBoot之JSP,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

说明:由于官方对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怎么运行都没有问题