java url 伪静态,Java中urlrewrite伪静态的使用总结

可以有两种方法来做,第一种就是使用URLRewrite来转换url,不让别人看到你的真实路径,另外一种就是使用freemarker来生成静态化的页面

url伪静态,以为是 FreeMarker 实现的,仔细研究了会发现不是那么回事,原来是伪静态,程序使用了 urlrewriter 。其实 urlrewriter 的使用很简单,看看下面你就明白了。

urlrewriter 简介: url rewrite 将我们的动态网页地址转化为静态的地址,如 html 、 shtml ,还可以隐藏网页的真正路径,比如:有时候需要将 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 ,修改其代码如下所示:

Java代码

HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >

测试TestUrlRewrite

String id = (String) request.getParameter("id" );

out.println("

 the value is  : "  + id + " 

 " );

%>

HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

测试TestUrlRewrite

String id = (String) request.getParameter("id");

out.println("

 the value is  : " + id +" 

 ");

%>

【第四步】发布程序

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

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

0818b9ca8b590ca3270a3433284dd417.png

【第五步】添加 urlrewrite 文件

将 urlrewrite-2.6.0.jar 复制到 WebRoot/WEB-INF/lib 下。

将 urlrewrite.xml 复制到 WebRoot/WEB-INF 下,其中 urlrewrite.xml 代码如下所示:

Xml代码

 xml version = "1.0"   encoding = "utf-8" ?>

urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"

"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">

 /(.*).html  from >

 index.jsp? id =$1  to >

 rule >

 urlrewrite >

urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"

"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">

/(.*).html

index.jsp?id=$1

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

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

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

在 web.xml 增加如下内容:

Xml代码

 UrlRewriteFilter  filter-name >

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter

 filter-class >

 logLevel  param-name >

 DEBUG  param-value >

 init-param >

 filter >

 UrlRewriteFilter  filter-name >

 /*  url-pattern >

 filter-mapping >

UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter

logLevel

DEBUG

UrlRewriteFilter

/*

【第七步】 重启 tomcat

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

0818b9ca8b590ca3270a3433284dd417.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值