java中urlrewriter 结合tomcat【转】

url rewrite 简介:url rewrite 将我们开发的动态网页地址转化为静态的地址如html shtml,不仅如此还可以隐藏开发的网页的真正路径如我们有时候想将

xxx.com/info/class1/sort1/2.jsp 转化成显示路径为xxx.com/info_class1_sort1_2.html.

去这里下载http://tuckey.org/urlrewrite/#download
我下载的是urlrewritefilter-2.6.zip

1.下载到本地
2.解压缩得到文件urlrewrite-2.6.0.jar 和 urlrewrite.xml
3.使用MyEclipse建立一个Web项目TestWeb 在WebRoot下建立一个文件 test.jsp
4.为了测试我test.jsp代码如下

<%@ page language="java" pageEncoding="UTF-8"%>
<%
String id = (String)request.getParameter("id");
out.println("id is : " + id);
%>

5.先装载到tomcat下,浏览器输入 http://localhost:8080/test/test.jsp?id=2
显示 id is : 2

6.将urlrewrite-2.6.0.jar 复制到WebRoot\WEB-INF\lib下。将urlrewrite.xml复制到WebRoot\WEB-INF 下 urlrewrite.xml 代码增加一下规则

    <rule>
        <note>
        </note>
        <from>/(.*).html</from>
    <to>test.jsp?id=$1</to>
    </rule>

    /(.*).html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用
    $1 也是一个正则表达式的语言匹配正则中的组捕获

    编辑工程下web.xml 增加以下内容 

   <filter>
 
             <filter-name>UrlRewriteFilter</filter-name>
 
             <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
 
             <init-param>
 
                 <param-name>logLevel</param-name>
 
                 <param-value>DEBUG</param-value>
 
             </init-param>
 
    </filter>
 
    <filter-mapping>
 
             <filter-name>UrlRewriteFilter</filter-name>
 
             <url-pattern>/*</url-pattern>
 
    </filter-mapping>

7.重启tomcat

8.浏览器输入http://localhost:8080/test/2.html

显示 id is : 2

http://localhost:8080/test/a.html
id is a

整个就实现了。Apache里 IIS 也有同样的规则。暂时先不写了。

 注:本文为咸鱼原创 欢迎相互学习转载,转载请注明地址 http://www.web1357.cn/post/java_urlrewriter.html

原文地址:https://www.cnblogs.com/coffee/p/1503528.html