Java中UrlRewrite的使用

xiaoxiao2026-03-19  11

Javaurlrewriter的使用

 

    最近公司以前的一个项目需要升级改版,其中的一个模块是使用Struts2做的不需要改动,但是需要将其从之前的项目里面剥离出来,看了看官网,发现所有的链接访问的静态地址,以为是FreeMarker实现的,仔细研究了会发现不是那么回事,原来是伪静态,程序使用了urlrewriter。其实urlrewriter的使用很简单,看看下面你就明白了。

urlrewriter简介:url rewrite将我们的动态网页地址转化为静态的地址,如htmlshtml,还可以隐藏网页的真正路径,比如:有时候需要将xxx.com/news/ type1/001.jsp 转化成显示路径为xxx.com/news_type1_001.jsp

 

【第一步】下载jar

http://tuckey.org/urlrewrite/#download下载最新的jar文件,当前最新的是Beat3.2我下载的是urlrewritefilter-2.6.zip。解压得到urlrewrite-2.6.0.jar urlrewrite.xml

 

【第二步】新建Web项目TestUrlRewrite

WebRoot下新建index.jsp,修改其代码如下所示:

<%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>测试TestUrlRewrite</title> </head> <body> <% String id = (String) request.getParameter("id"); out.println("<h3> the value is : " + id +" </h3> "); %> </body> </html>

 

【第四步】发布程序

将程序发布到Tomcat中,然后在浏览器输入如下地址:

http://localhost:8080/TestUrlRewrite/index.jsp?username=niejingyu,页面展示效果如图1所示:

 

【第五步】添加urlrewrite文件

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.1//EN" "http://tuckey.org/res/dtds/urlrewrite3.1.dtd"> <urlrewrite> <rule> <from>/(.*).html</from> <to>index.jsp?id=$1</to> </rule> </urlrewrite>

 

 

    *.html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用。

    $1 也是一个正则表达式的语言匹配正则中的组捕获。

 

【第六步】修改web.xml文件

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>

 

【第七步】重启tomcat

       访问http://localhost:8080/TestUrlRewrite/2.html,页面效果如图所示:

 

       在这里是匹配/(.*).html,将请求转发到index.jsp?id=$1。你还可以根据需要转到xxx.action?id=$1

 

相关资源:Java URLRewriter使用小节
转载请注明原文地址: https://www.6miu.com/read-5046161.html

最新回复(0)