您好,登錄后才能下訂單哦!
這篇文章主要介紹了web項目如何使用ehcache-web進行頁面緩存或者文件壓縮,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一: 小試 EhCache web 用來緩存JSP頁面
0) 涉及到的jar包
ehcache-core-2.5.2.jar,
ehcache-web-2.0.4.jar
1) web.xml
這里使用了個簡單的過濾器來攔截所有的jsp請求
<web-app
<filter>
<filter-name>PageCacheFilter</filter-name><filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter </filter-class>
</filter>
<filter-mapping>
<filter-name>PageCacheFilter</filter-name><url-pattern>/*.jsp</url-pattern>
</filter-mapping>
</web-app>
2) ehcache.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../main/config/ehcache.xsd">
<diskStore path="java.io.tmpdir/ehcache" />
<cache name="SimplePageCachingFilter"
maxElementsInMemory="10000"
maxElementsOnDisk="1000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="5"
timeToLiveSeconds="10"
memoryStoreEvictionPolicy="LFU"
/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
/>
</ehcache>
3)一個簡單的index.jsp頁面來打印出日志
<%@page import="java.sql.ResultSet"%>
<%@page import="com.db.DB"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>測試</title>
</head>
<body>
<%
System.out.println(System.currentTimeMillis());
%>
</body>
</html>
4)測試方法
1.啟動了項目去訪問index.jsp頁面
2.刷新index.jsp頁面,看后臺是否打印出日志
3.其實使用頁面緩存已對文件進行了gzip壓縮了。無需在使用下面的GzipFilter進行過濾處理。
二、使用gzip優化web應用(filter實現)
測試時沒有發現有用,似乎tomcat已經啟用了gzip功能
gzip是http協議中使用的一種加密算法,客戶端向web服務器端發出了請求后,通常情況下服務器端會將頁面文件和其他資源,
返回到客戶端,客戶端加載后渲染呈現,這種情況文件一般都比較大,如果開啟Gzip ,那么服務器端響應后,會將頁面,
JS,CSS等文本文件或者其他文件通過高壓縮算法將其壓縮,然后傳輸到客戶端,由客戶端的瀏覽器負責解壓縮與呈現。
通常能節省40%以上的流量
1) web.xml中添加過濾器
<filter>
<filter-name>gzipFilter</filter-name>
<filter-class>
net.sf.ehcache.constructs.web.filter.GzipFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>gzipFilter</filter-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.tpl</url-pattern>
<url-pattern>*.prd</url-pattern>
<url-pattern>*.ftl</url-pattern>
<url-pattern>*.html</url-pattern>
<url-pattern>*.css</url-pattern>
</filter-mapping>
感謝你能夠認真閱讀完這篇文章,希望小編分享的“web項目如何使用ehcache-web進行頁面緩存或者文件壓縮”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。