说明:由于官方对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
来源:oschina
链接:https://my.oschina.net/u/2408834/blog/647964