Package com.mycompany

Source Code of com.mycompany.CustomFilter

package com.mycompany;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bradmcevoy.http.HttpManager;
import com.bradmcevoy.http.Request;
import com.bradmcevoy.http.Response;
import com.bradmcevoy.http.ServletRequest;
import com.bradmcevoy.http.ServletResponse;



/**
* This filter demonstrates how you can easily write your own servlet filter
* to invoke milton
*
* Using this approach allows you to mix non-milton resources. This example
* shows the filter bypassing milton for JSP files, but allowing milton
* to handle all other requests.
*
* You can also use StaticResourceFilter
*
* @author brad
*/
public class CustomFilter implements javax.servlet.Filter {

    private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(CustomFilter.class);

    private HttpManager httpManager;

    public void init( FilterConfig filterConfig ) throws ServletException {
        TResourceFactory fact = new TResourceFactory();
        httpManager = new HttpManager( fact );
    }

    public void doFilter( javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, FilterChain chain ) throws IOException, ServletException {
        log.debug( "doFilter");
        HttpServletRequest req = (HttpServletRequest) servletRequest;
        HttpServletResponse resp = (HttpServletResponse) servletResponse;

        String url = null;
        url = ( (HttpServletRequest) servletRequest ).getRequestURL().toString();
        if( !url.endsWith( ".jsp") ) {
            log.debug( "not a JSP, use milton");
            try {
                Request request = new ServletRequest( req );
                Response response = new ServletResponse( resp );
                httpManager.process( request, response );
            } finally {
                servletResponse.getOutputStream().flush();
                servletResponse.flushBuffer();
            }
        } else {
            log.debug( "is a JSP, do not use milton");
            chain.doFilter( servletRequest, servletResponse );
        }

    }

    public void destroy() {

    }
}
TOP

Related Classes of com.mycompany.CustomFilter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.