当前位置:首页 > Web开发 > 正文

但是它整体的布局是一致了

2024-03-31 Web开发

学习自:https://www.cnblogs.com/whgk/p/10984222.html

一、什么是Freemarker?它是干什么用的?为什么要使用网页静态化技术?

  1.什么是Freemarker:      

  FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不只可以用作表示层的实现技术,而且还可以用于生成 XML, JSP 或 Java 等。 

     

技术图片

  这是什么意思呢?有的同学可能读完,也没大白说的是啥。还记得之前,我给大家分享的mybatis的逆向工程吗?其实道理类似Freemarker。简单来说,就是可以通过编码java代码,将固定模板和动态的参数填充到一起,生成所需要的文件。按照差此外模板,可以生成差此外文件,好比供给HTML模板,可以生成所需要的HTML文件。

2.为什么要使用Freemarker?他的使用场景是什么?      

  网页静态化解决方案在实际开发中运用对照多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道。也好比说一些电商的商品详情页面,虽然每个商品的详情内容是不一样的,但是它整体的构造是一致了,好比每个商品都有标题,价格,图片,商品介绍等等,我们使用Freemarker将固定不乱的内容界说层模板,然后将不动态的内容去从数据库中盘问出来,再绑定到模板一个一个对应位置,就可以生成,每个商品本身的详情页了。

  那么我们为什么要使用网页静态化呢,像我们以前那样,直接界说好页面,用户访谒的时候,再将页面的动态内容盘问填充展示不行吗?很显然,使用了网页静态化技术,用户访谒的是生成好的静态页面,不用再直接去数据库中取盘问数据。网页静态化技术和缓存技术的配合点都是为了减轻数据库的访谒压力,但是具体的应用场景差别,缓存对照适合小规模的数据,而网页静态化对照适合大规模且相对变革不太频繁的数据。

  此外网页静态化还有利于 SEO。 此外我们如果将网页以纯静态化的形式展现,就可以使用 Nginx 这样的高性能的 web处事器来部署。 Nginx 可以承载 5 万的并发,而 Tomcat 只有几百。关于 Nginx 我在后续的博客中会详细讲解。

二、了解了Freemarker的根基观点 ,下面我们通过一个小案例,来具体了解下Freemarker。

  1.使用Freemarker需要此刻创建maven工程,引入依赖,还不知道如何使用maven工程的小伙伴,可以看看我之前的博客关于maven的详细介绍。

    

<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>

  2.创建模板文件,这里我们以生成html文件为例(通俗来说模板就是用于出产的模具)。

  先了解下模板文件中常用的四种元素:

  1)、文本,直接输出的部分
  2)、注释,即<#--...-->格局不会输出
  3)、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出 。
  4)、 FTL 指令: FreeMarker 指令,和 HTML 符号类似,名字前加#予以区分,不会输出。 

我们此刻就创建一个简单的创建模板文件 test.ftl (这个后缀不长短要写出ftl,但是一般都这样写)

    

<html> <head> <meta charset="utf-8"> <title>Freemarker测试</title> </head> <body> <#--我只是一个注释,我不会有任何输出 --> 跟html中的注释<-- -->是所有区另外,html中注释虽然不会再页面显示,但是还是会显示在源代码中,而#<-- --> 仅从措施员看的,不会显示在生成的源代码中。 ${name},你好。 ${message} ${...} 这就是插值,相当于占位置,期待数据填充。很类似以前学习的JSP页面中的{}从域中取值 </body>                       其他处所就是文本,会直接输出到生成的源代码中。 </html>

  3.编程代码,填充模板,生成说需要的源代码文件

  使用法式:      

  第一步:创建一个 Configuration 东西,直接 new 一个东西。结构要领的参数就是freemarker 的版本号。

  第二步:设置模板文件地址的路径。

  第三步:设置模板文件使用的字符集。一般就是 utf-8.

  第四步:加载一个模板,创建一个模板东西。

  第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。

  第六步:创建一个 Writer 东西,一般创建一 FileWriter 东西,指定生成的文件名。

  第七步:挪用模板东西的 process 要领输出文件。

  第八步:封锁流 

      

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31789.html