实例
步骤
1、从官网下载 urlrewritefilter 的 jar 包: http://www.tuckey.org/urlrewrite/#documentation
2、将该 jar 包复制到项目的WEB-INF/lib目录
3、在 web.xml 中添加一个 filter —— UrlRewriteFilter ,下面代码作为参考
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
404
/jsp/error.jsp
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
UrlRewriteFilter
*.html
*.jsp
4、在项目的 WEB-INF 目录下创建 urlrewrite.xml 文件,下面代码作为参考(文件名必须是这个,且只能放在该目录)
/p>
"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">
.jsp
/jsp/error.jsp
(.*).html
/jsp/$1.jsp
注意:urlrewrite.xml中的rule必须按照严格顺序。
第一个rule用来处理企图访问.jsp的用户,返回404应答,如果已经被该rule处理掉,则不进入下一个rule;
第二个rule用来处理所有.html请求,然后转到实际的.jsp页面中。
如果两个rule顺序写反,那第一个rule会处理所有.html请求,将它们转到.jsp,然后第二个rule得知用户企图访问.jsp,返回404应答,造成的结果是,无论用户访问.html,还是.jsp,返回的都是404应答