Steps for Caching Web Pages
Caching web pages does not require any code changes. Your application server should support servlet filtering already. Simply update your web.xml file, re-deploy. and you should see the speedup right away.
The basic steps you'll need to follow to configure Ehcache for web-page caching are as follows (these steps assume you already have Ehcache installed in your application):
1. Configure a servlet page filter in web.xml.
2. Configure an appropriate cache in ehcache.xml.
3. Start (or re-start) your application.
The following settings should help you setup web caching for your application.
Step 1 - Add a filter to your web.xml
The first thing you'll need to do is add a filter to enable page caching.
The following web.xml settings will enable a servlet filter for page caching:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "
version="2.5">
<filter>
<filter-name>SimplePageCachingFilter</filter-name>
<filter-class>net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter
</filter-class>
</filter>
<!-- This is a filter chain. They are executed in the order below.
Do not change the order. -->
<filter-mapping>
<filter-name>SimplePageCachingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
Step 2 - Configure an ehcache.xml
The second step to enabling web page caching is to configure Ehcache with an appropriate ehcache.xml.
The following ehcache.xml file should configure a reasonable default cache:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../main/config/ehcache.xsd">
<cache name="SimplePageCachingFilter"
maxEntriesLocalHeap="10000"
maxEntriesLocalDisk="1000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
/>
</ehcache>
Step 3 - Start your application server
Now start your application server. Pages should be cached.