廣告聯播

2020年1月4日 星期六

spring boot minify html

From: Polin Wei

Spring Boot 利用 Filter 與 htmlcompressor 最小化 HTML 網頁Size


在 WordPress 利用 gzip 與外掛提升網站速度 中提到,可以將網頁的空白去除,以達到網頁最小的 Size ,進而提升載入網頁的速度,而在 Spring boot 中也可以透過 javax.servlet.Filter 及使用 com.googlecode.htmlcompressor 來達到這個功能。

  • 攔截器 ( Interceptor )  與 篩選器 ( Filter )
在實作之前,我們先瞭解一下攔截器 ( Interceptor )  與篩選器 ( Filter ) 。這兩者在功能方面很類似,但是在具體技術實現方面,還是有差異的,兩者的主要區別包括以下幾個方面:
  1. Filter 是依賴於 Servlet 容器,屬於 Servlet 規範的一部分,而攔截器則是獨立存在的,可以在任何情況下使用。
  2. Filter 的執行由 Servlet 容器 FilterChain 完成,而攔截器通常通過動態代理的方式來執行。
  3. Filter 的生命週期由 Servlet 容器管理,而攔截器則可以通過 IoC (Inversion of Control) 容器來管理,因此可以通過注入等方式來獲取其他 Bean 的實例,因此使用會更方便。

瞭解兩者差異後,接下來透過下列幾個步驟就可以輕易達到這個功能。
  • 在 gradle 中加入 com.googlecode.htmlcompressor 相依套件
  1. compile("com.googlecode.htmlcompressor:htmlcompressor:1.5.2")

沒有留言:

張貼留言