java伪静态

来源:互联网 发布:js 二维数组动态赋值 编辑:程序博客网 时间:2024/04/28 18:00
现在UrlRewriter技术有两个技术平台 的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。
首先让我们了解它的工作原理,说白了它就是一个简 单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().
下面我们就快速 的为你的网站搭建Url重写技术。
第一步:下载urlrewrite-2.6.0.现在最新版本是3.1 的。(http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
http://urlrewritefilter.googlecode.com /files/urlrewritefilter-3.1.0.zip把urlrewrite-2.6.0.jar拷到classpath下。
第 二步:在WEB-INF目录下建一个urlrewrite.xml文件。注意这个文件不能有大写字母,名字必须是这个
第三步:在web.xml中初始化。加上下面的代码:
<!-- Set URL Rewrite-->
<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>

第四步:在urlrewrite.xml中需要把伪静态的规则写进去

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
<rule>
<from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
<to type="forward">/$1.htm?category=$2&amp;page=$3</to>
</rule>
<rule>
<from>^/rss/yahoo/.html$</from>
<to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed
</to>
</rule>
</urlrewrite>

注意

1、单页面规则写法:(记得不要把项目名写到里面去了)

<from>^/index.html</from>

<to>/index.jsp</to>

2、带一个参数的URL规则写法

把showNew.s.jsp?id=参数  伪成shownews_参数.html

<from>^/shownews_(.[0-9]*).html</from>

<to>/showNews.jsp?id=$1</to>

()里面是正则表达式,自己去找找这方面的知识,美元符号$1的意思是匹配第一个正则表达式

3,带两个参和多个参的URL规则写法

把showNews.jsp?id=参1&type=参2伪成news-参1-参2.html

<from>^/news-(.[0-9]*)-(.[0-9]*).html</from>

<to>/showNews.jsp?id=$1&amp;type=$2</to>

注意一点:用“&amp;”来代替”&“,多个参的url规则基本类似,依葫芦画瓢,应该能写出来!哦,还有一点,那就是 jsp页面上的url的写法,href=”shownews_<%=news.getNewsID() %>.html”,如果前面加项目名的话,就再多加个”/”


0 0
原创粉丝点击