-
WHAT?
静态化是指把动态生成的HTML页面变为静态内容保存,以后用户的请求到来,直接访问静态页面,不再经过服务的渲染。
而静态的HTML可以部署在nginx中,从而大大的提高并发能力,减小tomcat压力。 -
HOW?
目前,静态化页面都是通过模板引擎来生成,而后保存到Nginx服务器来部署,常用的模板引擎比如:
Freemarker
Velocity
Thymeleaf
Thymeleaf实现静态化
概念:
-
Context:运行上下文
上下文:用来保存模型数据,当模板引擎染时,可以从Context上下文中获取数据用于渲染。
当与SpringBoot结合使用时,我们放入Model的数据就会被处理到Context,作为模板池染的数据使用。 -
TemplateResolver:模板解析器
模板解析器:用来读取模板相关的配置,例如:模板存放的位置信息,模板文件名称,模板文件的类型等等。
当与SpringBoot结合时,TemplateResolver已经由其创建完成, 并且各种配置也都有默认值,比如模板存放位
置,其默认值就是: templates. 比如模板文件类型,其默认值就是html. -
TemplateEngine:模板引擎
模板引擎:用来解析模板的引擎,需要使用到上下文、模板解析器。分别从两者中获取模板中需要的数据,模板文
件。然后利用内置的语法规则解析,从而输出解析后的文件。来看下模板引擎进行处理的函数:
templateEngine.process("",context,writer);
三个参数:
模板名称
上下文:里面包含模型数据
writer:输出目的地的流
写一个GoodsHtmlService类
@Service
public class GoodsHTMLService {
@Autowired