PrePostFilter.java

1    package com.acme.filter; 
2     
3    import javax.servlet.FilterChain; 
4    import javax.servlet.ServletException; 
5    import javax.servlet.ServletRequest; 
6    import javax.servlet.ServletResponse; 
7    import javax.servlet.http.HttpServletResponse; 
8    import java.io.IOException; 
9    import java.io.OutputStream; 
10    
11   public class PrePostFilter extends GenericFilter { 
12       public void doFilter(final ServletRequest request, final ServletResponse response, FilterChain chain) throws IOException, ServletException 
13       { 
14           OutputStream out = response.getOutputStream(); 
15           out.write("<HR>PRE<HR>".getBytes()); 
16           GenericResponseWrapper wrapper = new GenericResponseWrapper((HttpServletResponse) response); 
17           chain.doFilter(request, wrapper); 
18           out.write(wrapper.getData()); 
19           out.write("<HR>POST<HR>".getBytes()); 
20           out.close(); 
21       } 
22   } 
23