Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


Java Programming Code Examples

Java > Servlets Code Examples

JSP file response filter

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
JSP file response filter package com.ack.web.servlet; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /* to configure this filter process the outgoing responses for the viewfile servlet that is streaming back the contents of a jsp file. Compile this class into the WEB-INF/classes directory and configure you WEB-INF/web.xml file to include the following filter. Note how you can map the filter onto a servlet of your choosing. <web-app> <filter> <filter-name>jsp_response</filter-name> <filter-class>com.ack.web.servlet.JSPFileResponseFilter</filter-class> </filter> <filter-mapping> <filter-name>jsp_response</filter-name> <servlet-name>viewfile</servlet-name> </filter-mapping> </web-app> */ public class JSPFileResponseFilter extends HttpServlet implements Filter { private FilterConfig filterConfig; public void init( FilterConfig filterConfig ) { this.filterConfig = filterConfig; } public void doFilter( ServletRequest request, ServletResponse response, FilterChain filterChain ) { try { // the extra path information contents the uri of the file to view String pathInfo = ( (HttpServletRequest) request ).getPathInfo(); System.out.println( "delegate jsp view to -> " + pathInfo ); // if its a jsp file if( pathInfo != null && pathInfo.endsWith( ".jsp" ) && response instanceof HttpServletResponse ) { // create a response wrapper to handle the streaming // of the jsp file back to the HTTP client JSPHttpServletResponseWrapper wrapperResponse = new JSPHttpServletResponseWrapper( (HttpServletResponse) response ); // and then do it filterChain.doFilter( request, wrapperResponse ); } else { // if not a JSP file, there is no extra processing // to do on the response filterChain.doFilter( request, response ); } } catch( ServletException sx ) { log( sx.getMessage() ); } catch( IOException iox ) { log( iox.getMessage() ); } } }