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