urlRewrite

熟悉apache的朋友都应该对apache的urlwrite的强大功能很熟悉,呵呵,今天的主角不是apache,而是urlRewriteFilter。 一个基于过滤器的java实现。
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.
urlrewrite的好处就不多说了,这里简单说一下配置。
安装:
1. 下载lib文件解压缩到web目录下,目前的版本是1.2。下载地址:http://tuckey.org/urlrewrite/dist/urlrewritefilter-1.2.zip
2.   编辑 WEB-INF/web.xml 加入下面的配置(filter-mapping自定义)
     <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>
    </filter-mapping>
3.   在WEB-INF目录中创建规则配置文件urlrewrite.xml.
4. 重启应用环境.
简单吧。具体来看几个地方
web.xml::
     <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>confReloadCheckInterval</param-name>
            <param-value>60</param-value>
        </init-param>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>DEBUG</param-value>
        </init-param>
        <init-param>
            <param-name>statusEnabled</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>statusPath</param-name>
            <param-value>/status</param-value>
        </init-param>
    </filter>
1) confReloadCheckInterval : 设置检查,加载配置文件的时间间隔,0或空表示永远不检查重新加载
2) logLevel: 日志记录level
3) statusEnabled:
4)statusPath:
urlrewrite.xml:跳转规则的配置文件,具体请参考UrlRewriteFilter DTD (Document Type Definition).
规则定义采用正则表达式(Perl5 style),具体参考Jakarta ORO's的说明文档
例子:
    <rule>
        <from>/products/([0-9]+)</from>
        <to>/products/index.jsp?product_id=$1</to>
    </rule>

http://localhost/example/products/1 将会更具规则重定向到 http://localhost/example/products/index.jsp?product_id=1

你可能感兴趣的:(urlrewrite)