1. 程式人生 > >使用Gzip壓縮數據,加快頁面訪問速度

使用Gzip壓縮數據,加快頁面訪問速度

https bytearray class json html zip 內容類型 lose put

在返回的json數據量大時,啟用Gzip壓縮,可以提高傳輸效率。下面為Gzip壓縮對json字符串壓縮並輸出到頁面的代碼。

一、代碼

  1. /** 向瀏覽器輸出字符串響應數據,啟用gzip壓縮 */
  2. protected void writeResponseDataStr(String data){
  3. /** 獲取響應對象 */
  4. HttpServletResponse response = ServletActionContext.getResponse();
  5. /** 設置響應內容類型 */
  6. response.setContentType("text/html;charset=utf-8"
    );
  7. try {
  8. /** 告訴瀏覽器,服務器響應的數據是用GZIP壓縮的 */
  9. response.setHeader("Content-Encoding", "gzip");
  10. //GZIP壓縮的原理是:將數據全部壓縮進內存輸出流中,再從將內存輸出流中的數據輸出
  11. /** 創建內存輸出流的容器 */
  12. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  13. /** 創建GZIP壓縮對象 */
  14. GZIPOutputStream gzip = new GZIPOutputStream(bos);
  15. /** 進行壓縮 */
  16. gzip
    .write(data.getBytes("utf-8"));
  17. gzip.flush();
  18. gzip.close();
  19. /** 向瀏覽器輸出響應數據 */
  20. response.getOutputStream().write(bos.toByteArray());
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. };

使用Gzip壓縮數據,加快頁面訪問速度