使用URL Rewrite 实现网站伪静态
2015-06-05 17:17
525 查看
对于 Java Web来说,要实现伪静态非常简单:可以通过 Filter 拦截所有发向 *.html 请求,然后 按照某种规则,将请求 forward 到实际的 *.jsp 页面即可。
现有的 URL Rewrite 开源项目 为这种思路 提供了实现,使用 URL Rewrite 实现网站伪静态:
1、登录 http://www.tuckey.org/urlrewrite/ 站点,下载最新的版本;
2、下载 xxx-xxx-src.zip 文件,将文件解压缩,文件路径如下:
api:API文档
lib:编译和运行所需要的第三方类库
manual:存放了URL Rewrite 项目使用手册
src:存放了URL Rewrite 的源代码
webapp:示例应用
LICENSE.txt:杂项文档
3、在 web.xml 中配置启用 URL Rewrite Filter,在 web.xml 文件中,增加如下配置片段:
拦截所有的用户请求
4、在 WEB-INF 路径下增加 urlrewrite.xml 文件,该文件定义了伪静态 映射规则,这份伪静态规则是基于正则表达式的。
上面的规则文件 定义了一条简单的规则: 所有发向 /userinf-(\w*).html 的请求都将被 forward 到 userinf.jsp 页面,并将(\w*) 正则表达式所匹配的内容 作为username 的参数值。根据这个伪静态规则,我们应该为该应用提供一个 userinf.jsp 页面,显示用户信息;
<head>
<title><%= user %>个人信息</title>
</head>
<body>
<%
out.println(“现在时间是:” + new java.util.Date() + “ </br>”);
out.println("用户名: " + user);
%>
</body>
标题栏会出现 user 的值,,并且 系统因为使用了 URL Rewrite, 因此用户可以请求类似 userinf-xxx.html 页面;
例如:userinf-crazy.html
user 的值就会 被赋予 crazy。
现有的 URL Rewrite 开源项目 为这种思路 提供了实现,使用 URL Rewrite 实现网站伪静态:
1、登录 http://www.tuckey.org/urlrewrite/ 站点,下载最新的版本;
2、下载 xxx-xxx-src.zip 文件,将文件解压缩,文件路径如下:
api:API文档
lib:编译和运行所需要的第三方类库
manual:存放了URL Rewrite 项目使用手册
src:存放了URL Rewrite 的源代码
webapp:示例应用
LICENSE.txt:杂项文档
3、在 web.xml 中配置启用 URL Rewrite Filter,在 web.xml 文件中,增加如下配置片段:
<span style="white-space:pre"> </span><filter> <filter-name> UrlRewriteFilter </filter-name> <filter-class> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </filter-class> </filter> <filter-mapping> <filter-name> UrlRewriteFilter </filter-name> <filter-pattern> /* </filter-pattern> </filter-mapping>
拦截所有的用户请求
4、在 WEB-INF 路径下增加 urlrewrite.xml 文件,该文件定义了伪静态 映射规则,这份伪静态规则是基于正则表达式的。
<span style="white-space:pre"> </span><?xml version="1.0" encoding="GBK" ?> <!DOCTYPE urlrewrite PUBLIC ………………> <urlrewrite> <rule> <form> /userinf-(\w*).html </form> <to type="forward" >/userinf.jsp?username=$1 </to> </rule> </urlrewrite>
上面的规则文件 定义了一条简单的规则: 所有发向 /userinf-(\w*).html 的请求都将被 forward 到 userinf.jsp 页面,并将(\w*) 正则表达式所匹配的内容 作为username 的参数值。根据这个伪静态规则,我们应该为该应用提供一个 userinf.jsp 页面,显示用户信息;
<head>
<title><%= user %>个人信息</title>
</head>
<body>
<%
out.println(“现在时间是:” + new java.util.Date() + “ </br>”);
out.println("用户名: " + user);
%>
</body>
标题栏会出现 user 的值,,并且 系统因为使用了 URL Rewrite, 因此用户可以请求类似 userinf-xxx.html 页面;
例如:userinf-crazy.html
user 的值就会 被赋予 crazy。
相关文章推荐
- java-用HttpURLConnection发送Http请求.
- VBScript 剪贴板抓取URL并在浏览器中打开
- wordpress rewrite问题解决
- 用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
- asp获取URL参数的几种方法分析总结[原创]_应用技巧_脚本之家
- zend framework框架中url大小写问题解决方法
- url decode problem 解决方法
- php url地址栏传中文乱码解决方法集合
- 探讨:parse url解析URL,返回其组成部分
- C#实现自动识别URL网址的方法
- C#自定义针对URL地址的处理类实例
- 比较详细的Asp伪静态化方法及Asp静态化探讨
- ASP让url的中文显示为编码
- JS使用ajax方法获取指定url的head信息中指定字段值的方法
- 关于URL中的特殊符号使用介绍
- JS来动态的修改url实现对url的增删查改
- js url传值中文乱码之解决之道
- 通过url查找a元素并点击
- 简单实例处理url特殊符号&处理(2种方法)
- 获取上一页面的URL和本页的URL的方法