一:到 http://tuckey.org/urlrewrite/ 下载urlrewrite架包(推荐2.6.0)
二:解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下
三:把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下
四:在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>WARN</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
(UrlRewriteFilter这个可以更改,但是如果要更改的话,就两个UrlRewriteFilter都一起改为相同的字符串,比如说都改为:aaa也是可以的!其实这个在urlrewrite.xml里有说明,仔细看看就知道了!哦,忘了,上面这段代码加到: </welcome-file-list> 之后,)
五:接下来就是urlrewrite.xml里面的规则的写法了
1,单页面规则写法:(记得不要把项目名写到里面去了!)
<rule> <from>^/index.html</from> <to>/index.jsp</to> </rule>
2,带一个参的URL规则写法
把:showNews.jsp?id=参数 伪成:shownews_参数.html
<rule> <from>^/shownews_(.[0-9]*).html</from> <to>/showNews.jsp?id=$1</to> </rule>
()里面是正则表达式,自己去找找这方面的知识,美元符号$1的意思是匹配第一个正则表达式
3,带两个参和多个参的URL规则写法
把showNews.jsp?id=参1&type=参2伪成news-参1-参2.html
<rule> <from>^/news-(.[0-9]*)-(.[0-9]*).html</from> <to>/showNews.jsp?id=$1&type=$2</to> </rule>
注意一点:用 “&”来代替”& “,多个参的url规则基本类似,依葫芦画瓢,应该能写出来!哦,还有一点,那就是jsp页面上的url的写法,href=”shownews_<%=news.getNewsID() %>.html”,如果前面加项目名的话,就再多加个”/”,JSP用urlrewrite实现伪静态就这么些步骤!慢慢去摸索,自己摸索出来的,估计这一生都不会忘记!