All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.tuckey.web.filters.urlrewrite.sample.SampleMultiUrlRewriteFilter Maven / Gradle / Ivy

Go to download

A Java Web Filter for any J2EE compliant web application server (such as Resin, Orion or Tomcat), which allows you to rewrite URLs before they get to your code. It is a very powerful tool just like Apache's mod_rewrite.

There is a newer version: 5.1.3
Show newest version
package org.tuckey.web.filters.urlrewrite.sample;

import org.tuckey.web.filters.urlrewrite.Conf;
import org.tuckey.web.filters.urlrewrite.UrlRewriteFilter;
import org.tuckey.web.filters.urlrewrite.UrlRewriter;

import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;

/**
 * Sample of how you might load multiple configuration files. (NOT to be used verbatim!!)
 */
public class SampleMultiUrlRewriteFilter extends UrlRewriteFilter {

    private List urlrewriters = new ArrayList();
     
    public void loadUrlRewriter(FilterConfig filterConfig) throws ServletException {
        // add configurations
        try {
            Conf conf1 = new Conf(filterConfig.getServletContext(), new FileInputStream("someconf.xml"), "someconf.xml", "");
            urlrewriters.add(new UrlRewriter(conf1));

            Conf conf2 = new SampleConfExt();
            urlrewriters.add(new UrlRewriter(conf2));

        } catch (Exception e) {
            throw new ServletException(e);
        }
    }

    public UrlRewriter getUrlRewriter(ServletRequest request, ServletResponse response, FilterChain chain) {
        // do some logic to decide what urlrewriter to use (possibly do a reload check on the conf file)
        return (UrlRewriter) urlrewriters.get(0);
    }

    public void destroyUrlRewriter() {
        for (int i = 0; i < urlrewriters.size(); i++) {
            UrlRewriter urlRewriter = (UrlRewriter) urlrewriters.get(i);
            urlRewriter.destroy();
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy