使用URL Rewrite 实现网站伪静态

对于 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 文件中,增加如下配置片段:

<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。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值