欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java中urlrewriter 结合tomcat

程序员文章站 2024-03-23 20:36:28
...
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
整个就实现了。