Springboot中不推荐使用jsp。所以表现层页面可以使用freemarker来实现。
在pom文件中添加对freemarker启动器的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
模板默认放到src/main/resources/templates目录下。模板扩展名默认为ftl
网页中可能会用到,图片、css、js等静态资源。
需要把静态资源放到src/main/resources下的static目录下
我在application.ym中配置:
spring:
freemarker:
charset: utf-8
suffix: .ftl
template-loader-path: classpath:/
prefix: static/
把模板文件放在/static/目录下
整合Jsp需要把项目建为war类型:
<groupId>com.lyf</groupId>
<artifactId>activity</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>activity</name>
<packaging>war</packaging>
引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除内置容器器,排除内置容器器导出成 war 包可以让外部容器器运⾏行行spring-boot项⽬目-->
<!--<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>-->
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- servlet支持 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<!-- jstl 支持 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
在application.ym中配置:
spring:
mvc:
view:
prefix: /WEB-INF/jsp/
suffix: .jsp
配置完成后在webapp/WEB-INF/jsp文件夹下放jsp文件(必须有webapp/WEB-INF这个包,否则访问不到)
Servlet 的⽀支持
Spring Boot 项⽬目必须实现 SpringBootServletInitializer 接⼝口的 configure() ⽅方法才能让外部容器器运⾏行行 Spring
Boot 项⽬目,启动类同⽬目录下创建 ServletInitializer 类:
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JspApplication.class);
}
}
整合thymeleaf:
引入依赖:
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!--thymeleaf3.0以前对语法要求比较严格,修改版本-->
<properties>
<java.version>1.8</java.version>
<thymeleaf.version>3.0.11.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>
在application.ym中配置:
spring:
thymeleaf:
prefix: classpath:/templates/
suffix: .html
encoding: UTF-8
content-type: text/html
cache: false
mode: HTML