A Java Web Filter with functionality like Apache's mod_rewrite
Java HTML CSS
Switch branches/tags
Clone or download
Latest commit 35697bc Nov 30, 2017
Permalink
Failed to load latest commit information.
annotation setup for v5 Nov 30, 2017
container-test update cargo version Nov 30, 2017
src manual v5 Nov 30, 2017
.gitignore ignore file Jul 7, 2015
LICENSE.txt redesigned gzip support Jun 21, 2012
README.md Remove refs to googlecode.com Feb 3, 2017
build.xml update tomcat version Nov 30, 2017
pom.xml setup for v5 Nov 30, 2017

README.md

UrlRewriteFilter

UrlRewriteFilter Web Site | Documentation

Based on the popular and very useful mod_rewrite for apache, UrlRewriteFilter is 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.

URL rewriting is very common with Apache Web Server (see mod_rewrite's rewriting guide) but has not been possible in most java web application servers. The main things it is used for are:

  • URL Tidyness / URL Abstraction - keep URLs tidy irrespective of the underlying technology or framework (JSP, Servlet, Struts etc).
  • Browser Detection - Allows you to rewrite URLs based on request HTTP headers (such as user-agent or charset).
  • Date based rewriting - Allows you to forward or redirect to other URL's based on the date/time (good for planned outages).
  • Moved content - enable a graceful move of content or even a change in CMS.
  • Tiny/Friendly URL's (i.e. blah.com/latest can be redirected to blah.com/download/ver1.2.46.2/setup.exe)
  • A Servlet mapping engine (see Method Invocation)

!UrlRewriteFilter uses an xml file, called urlrewrite.xml (it goes into the WEB-INF directory), for configuration. Most parameters can be Perl5 style Regular Expressions or Wildcard Expressions. This makes it very powerful indeed.

See the manual for more information.

Quick Start

    <dependency>
        <groupId>org.tuckey</groupId>
        <artifactId>urlrewritefilter</artifactId>
        <version>4.0.3</version>
    </dependency>
  • Add the following to your WEB-INF/web.xml (add it near the top above your servlet mappings (if you have any)): (see filter parameters for more options)
    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
  • Add urlrewrite.xml into your WEB-INF directory. (src/main/webapp/WEB-INF/ for Maven users)
  • Restart the context.

You can visit http://127.0.0.1:8080/rewrite-status (or whatever the address of your local webapp and context) to see output (note: this page is only viewable from localhost).

The best Java IDE IDE Sponsored by JetBrains

Previously on Google Code: http://code.google.com/p/urlrewritefilter.