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 代码增加一下规则
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite>
	<rule>
		<note>
        </note>
        <from>/(.*).html</from>
    	<to>/news/test.jsp?id=$1</to>
	</rule>
</urlrewrite>


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

    编辑工程下web.xml 增加以下内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<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>
</web-app>

7.重启tomcat
8.浏览器输入http://localhost:8080/test/2.html
显示 id is : 2
http://localhost:8080/test/a.html
id is a
整个就实现了。

你可能感兴趣的:(java,tomcat,Web,jsp,正则表达式)