Home
What's
New?
com.oreilly.servlet
Servlet
Polls
Mailing
Lists
List
Archives
Servlet
Engines
Servlet
ISPs
Servlet
Tools
Documentation
Online
Articles
The
Soapbox
"Java
Servlet
Programming,
Second Edition"
"Java
Enterprise
Best Practices"
Speaking
& Slides
About
Jason
XQuery
Affiliate
Advertising
Info
|
com.oreilly.servlet
Class CacheHttpServlet
java.lang.Object
|
+--javax.servlet.GenericServlet
|
+--javax.servlet.http.HttpServlet
|
+--com.oreilly.servlet.CacheHttpServlet
- All Implemented Interfaces:
- java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
- public abstract class CacheHttpServlet
- extends javax.servlet.http.HttpServlet
A superclass for HTTP servlets that wish to have their output
cached and automatically resent as appropriate according to the
servlet's getLastModified() method. To take advantage of this class,
a servlet must:
- Extend CacheHttpServlet instead of HttpServlet
- Implement a getLastModified(HttpServletRequest) method as usual
This class uses the value returned by getLastModified() to manage
an internal cache of the servlet's output. Before handling a request,
this class checks the value of getLastModified(), and if the
output cache is at least as current as the servlet's last modified time,
the cached output is sent without calling the servlet's doGet()
method.
In order to be safe, if this class detects that the servlet's query
string, extra path info, or servlet path has changed, the cache is
invalidated and recreated. However, this class does not invalidate
the cache based on differing request headers or cookies; for
servlets that vary their output based on these values (i.e. a session
tracking servlet) this class should probably not be used.
No caching is performed for POST requests.
CacheHttpServletResponse and CacheServletOutputStream
are helper classes to this class and should not be used directly.
This class has been built against Servlet API 2.2. Using it with previous
Servlet API versions should work; using it with future API versions likely
won't work.
- Version:
- 0.92, 00/03/16, added synchronization blocks to make thread safe
, 0.91, 99/12/28, made support classes package protected
, 0.90, 99/12/19
- Author:
- Jason Hunter, Copyright © 1999
- See Also:
- Serialized Form
|
Method Summary |
protected void |
service(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
|
| Methods inherited from class javax.servlet.http.HttpServlet |
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service |
| Methods inherited from class javax.servlet.GenericServlet |
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CacheHttpServlet
public CacheHttpServlet()
service
protected void service(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws javax.servlet.ServletException,
java.io.IOException
- Overrides:
service in class javax.servlet.http.HttpServlet
javax.servlet.ServletException
java.io.IOException
|