简而言之,ftl文件可提高数据库的高并发读取性能,降低数据库访问量,客户体验好

什么是页面静态化

将动态页面转化成静态的html,降低与数据库的交互次数,提高页面的访问速度。就是服务器在请求来之前把已经固定好的东西先编译好了,等请求来了再动态的填数据,不要等请求来了什么都没做忙得半死。

为什么要使用网页静态化技术

网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力。
而网页静态化比较适合大规模且相对变化不太频繁的数据。
另外网页静态化还有利于SEO(搜索引擎优化)。

将网页以纯静态化的形式展现,就可以使用Nginx这样的高性能的web服务器来部署。
Nginx可以承载5万的并发,而Tomcat只有几百。
利用第三方提供的模板引擎,生成对应的html,常见的模板引擎有:thymeleaf、freemarker、velocity。

什么是FreeMarkerfreemarker是apache的一个开源的模板引擎,它基于模板来生成文本输出。freemaker模板引擎可以通过模板和数据生成静态化页面。

FreeMarker的优点

  1. 提前根据模板和数据生成静态化页面通过io流将页面写入到硬盘上, 访问的时候直接访问。就不用访问数据库了, 可以大大提高数据库的高并发读取性能,使数据库访问量降低.。
  2. 由于页面是提前生成好的, 所以访问速度快, 客户体验好。
  3. 由于html不需要tomcat解析浏览器可以直接访问, 所以给tomcat降低高并发访问压力。

FreeMarker使用场景

1.新闻网站新闻页面通过freemarker提前生成好;
2.电商网站商品详情页面通过freemarker提前生成好其原则是:
页面有固定的样式, 并且一次生成多次读取,尽量少的改动数据FreeMarker运行过程原理图;


ftl 页面写javascript ftl和html_html

模板:

1.模板在freemarker中是以.ftl为后缀名的文件, 在模板中可以使用html标签, css, js,图片等静态资源。

2.模板中可以使用el表达式获取数据, 但是无法使用jstl标签来判断和循环, 所以模板引擎会有自己的一套标签库供我们使用.
数据:数据一般存储在关系型数据库或者redis或者mongodb中获取.