public class PageFilter extends java.lang.Object implements javax.servlet.Filter, RequestConstants
| Modifier and Type | Field and Description |
|---|---|
private Factory |
factory |
private javax.servlet.FilterConfig |
filterConfig |
DECORATOR, FILTER_APPLIED, PAGE, ROBOT, USING_STREAM| Constructor and Description |
|---|
PageFilter() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
applyDecorator(Page page,
Decorator decorator,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
void |
destroy()
Shutdown filter.
|
void |
doFilter(javax.servlet.ServletRequest rq,
javax.servlet.ServletResponse rs,
javax.servlet.FilterChain chain)
Main method of the Filter.
|
private java.lang.String |
extractRequestPath(javax.servlet.http.HttpServletRequest request) |
javax.servlet.FilterConfig |
getFilterConfig()
Deprecated.
Not needed in final version of Servlet 2.3 API - replaced by init().
|
void |
init(javax.servlet.FilterConfig filterConfig)
Set FilterConfig, and get instance of
DecoratorMapper. |
protected Page |
parsePage(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
Continue in filter-chain, writing all content to buffer and parsing
into returned
Page object. |
void |
setFilterConfig(javax.servlet.FilterConfig filterConfig)
Deprecated.
Not needed in final version of Servlet 2.3 API - replaced by init().
|
private void |
writeOriginal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Page page)
Write the original page data to the response.
|
private javax.servlet.FilterConfig filterConfig
private Factory factory
public void doFilter(javax.servlet.ServletRequest rq,
javax.servlet.ServletResponse rs,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
Checks if the Filter has been applied this request. If not, parses the page
and applies Decorator (if found).
doFilter in interface javax.servlet.Filterjava.io.IOExceptionjavax.servlet.ServletExceptionprivate java.lang.String extractRequestPath(javax.servlet.http.HttpServletRequest request)
public void init(javax.servlet.FilterConfig filterConfig)
DecoratorMapper.init in interface javax.servlet.Filterpublic javax.servlet.FilterConfig getFilterConfig()
public void setFilterConfig(javax.servlet.FilterConfig filterConfig)
public void destroy()
destroy in interface javax.servlet.Filterprotected Page parsePage(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
Page object. If
Page is not parseable, null is returned.
To debug the PageWriter, add
the following to the servlet configuration:
<init-param>
<param-name>debug.pagewriter</param-name>
<param-value>true</param-value>
</init-param>
java.io.IOExceptionjavax.servlet.ServletExceptionprotected void applyDecorator(Page page, Decorator decorator, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
javax.servlet.ServletExceptionjava.io.IOExceptionprivate void writeOriginal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
Page page)
throws java.io.IOException
java.io.IOException