網頁靜態化解決方案-Freemarker
阿新 • • 發佈:2018-12-14
網頁靜態化目的:減輕資料庫的訪問壓力。
網頁靜態化技術和快取技術的共同點都是為了減輕資料庫的訪問壓力,但是具體的應用場景不同,快取比較適合小規模的資料,而網頁靜態化比較適合大規模且相對變化不太頻繁的資料。另外網頁靜態化還有利於SEO。
什麼是Freemarker
FreeMarker 是一個用 Java 語言編寫的模板引擎,它基於模板來生成文字輸出。FreeMarker與 Web 容器無關,即在 Web 執行時,它並不知道 Servlet 或 HTTP。它不僅可以用作表現層的實現技術,而且還可以用於生成 XML,JSP 或 Java 等。
實現步驟
建立模板檔案
模板檔案中四種元素
1、文字,直接輸出的部分
2、註釋,即<#--...-->格式不會輸出
3、插值(Interpolation):即${..}部分,將使用資料模型中的部分替代輸出
4、FTL指令:FreeMarker指令,和HTML標記類似,名字前加#予以區分,不會輸出。
生成檔案
使用步驟:
第一步:建立一個 Configuration 物件,直接 new 一個物件。構造方法的引數就是 freemarker的版本號。
第二步:設定模板檔案所在的路徑。
第三步:設定模板檔案使用的字符集。一般就是 utf-8.
第四步:載入一個模板,建立一個模板物件。
第五步:建立一個模板使用的資料集,可以是 pojo 也可以是 map。一般是 Map。
第六步:建立一個 Writer 物件,一般建立一 FileWriter 物件,指定生成的檔名。
第七步:呼叫模板物件的 process 方法輸出檔案。
第八步:關閉流