使用Gzip壓縮數據,加快頁面訪問速度
阿新 • • 發佈:2017-08-29
https bytearray class json html zip 內容類型 lose put 在返回的json數據量大時,啟用Gzip壓縮,可以提高傳輸效率。下面為Gzip壓縮對json字符串壓縮並輸出到頁面的代碼。
一、代碼
/** 向瀏覽器輸出字符串響應數據,啟用gzip壓縮 */
protected void writeResponseDataStr(String data){
/** 獲取響應對象 */
HttpServletResponse response = ServletActionContext.getResponse();
/** 設置響應內容類型 */
response.setContentType("text/html;charset=utf-8"
);try {
/** 告訴瀏覽器,服務器響應的數據是用GZIP壓縮的 */
response.setHeader("Content-Encoding", "gzip");
//GZIP壓縮的原理是:將數據全部壓縮進內存輸出流中,再從將內存輸出流中的數據輸出
/** 創建內存輸出流的容器 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
/** 創建GZIP壓縮對象 */
GZIPOutputStream gzip = new GZIPOutputStream(bos);
/** 進行壓縮 */
gzip
.write(data.getBytes("utf-8"));gzip.flush();
gzip.close();
/** 向瀏覽器輸出響應數據 */
response.getOutputStream().write(bos.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
};
使用Gzip壓縮數據,加快頁面訪問速度