urlrewritefilter 学习笔记

上传人:第*** 文档编号:32699650 上传时间:2018-02-12 格式:DOC 页数:11 大小:136KB
返回 下载 相关 举报
urlrewritefilter 学习笔记_第1页
第1页 / 共11页
urlrewritefilter 学习笔记_第2页
第2页 / 共11页
urlrewritefilter 学习笔记_第3页
第3页 / 共11页
urlrewritefilter 学习笔记_第4页
第4页 / 共11页
urlrewritefilter 学习笔记_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《urlrewritefilter 学习笔记》由会员分享,可在线阅读,更多相关《urlrewritefilter 学习笔记(11页珍藏版)》请在金锄头文库上搜索。

1、UrlRewriteFilter 学习笔记1、简介 UrlRewriteFilter 是一个用于改写 URL 的 Web 过滤器,类似于 Apache 的 mod_rewrite。适用于任何 Web 应用服务器(如 Resin,Orion,Tomcat 等)。其典型应用就把动态 URL 静态化,便于搜索引擎爬虫抓取你的动态网页。其主页:http:/tuckey.org/urlrewrite/2、安装在其主页下载该包文件,把其 jar 包放在 lib 目录下,在 web.xml 中添加下面内容Xml 代码 1. 2. UrlRewriteFilter 3. org.tuckey.web.filt

2、ers.urlrewrite.UrlRewriteFilter 4. 5. 6. UrlRewriteFilter 7. /* 8. REQUEST 9. FORWARD 10. 在 WEB-INF 目录下放置 urlrewrite.xml 其配置文件。重启应用即可完成安装。3、参数介绍(1)web.xml 下的 filter 参数设置介绍Xml 代码 1. 2. UrlRewriteFilter 3. org.tuckey.web.filters.urlrewrite.UrlRewriteFilter 4. 5. 10. 11. confReloadCheckInterval 12. 60

3、13. 14. 15. 20. 21. confPath 22. /WEB-INF/urlrewrite.xml 23. 24. 25. 32. 33. logLevel 34. DEBUG 35. 36. 37. 42. 43. statusPath 44. /status 45. 46. 47. 51. 52. statusEnabled 53. true 54. 55. 56. 61. 62. statusEnabledOnHosts 63. localhost, dev.*, * 64. 65. 66. 67. 69. 70. modRewriteConf 71. false 72.

4、73. 74. 77. modRewriteConfText 78. 79. RewriteRule /(/+)/?(.*) /u/$1/$2 R 80. RewriteRule /(uge)/(/+)$ /$1/$2/ R 81. 82. 83. 84. 85. 88. allowConfSwapViaHttp 89. false 90. 91. 92. 93. 94. 95. 96. UrlRewriteFilter 97. /* 98. REQUEST 99. FORWARD 100. (2)urlrewrite.xml 配置文件参数Xml 代码 1. 2. 3. 6. 7. 8. 9.

5、 10. /some/olddir/(.*)$ 11. /very/newdir/$1 12. 13. 14. 15. /blog/archive/* 16. /roller/history/$1 17. 18. 19. 配置文件规则:urlrewirte 配置文件必须有一个 urlrewrite 根元素和包含至少一个 rule 元素 。一个 rule 元素必须包含一个 from 和一个 to 元素,也可以包含 0 个以上的 condition 元素和 0 个以上 set 元素。一个 rule 元素拦截用户的请求,from 元素 是请求的 url,to 元素是经过重写后的 url 输出,下面是

6、类似 java 的重写内部实现。 Java 代码 1. Ppile( element); 2. pattern.matcher(request url); 3. matcher.replaceAll( element); 4. if ( elements match & matcher.find() ) 5. handle elements (if any) 6. execute elements (if any) 7. perform element (if any) 8. (4)元素参数说明元素参数 取值 描述default-match-type regex(默认)、wildcard 所有

7、的 rule 和 condition 元素都会用到该匹配方法decode-usingheader,utf8(默认)、null、iso-8859-1 等当 url 需要解码时request.getCharacterEncoding() 将被用到,如果为空,则为 utf-8 元素参数 取值 描述enable true(默认)、false 是否应用该 rulematch-type regex(默认)、wildcard 应用那种匹配规则实例代码:Xml 代码 1. 2. 3. 4. /world/(a-z+)/(a-z+)$ 5. /world.jsp 6. 7. 8. 9. /world/*/* 1

8、0. /world.jsp 11. 元素参数 取值 描述enabled true(默认)、 是否应该该规则use-query-string false(默认)、true 语句是否加到 url 的后面use-context false(默认)、true 上下午路径是否要加到 url 中falseencodefirstfalse(默认)、false是否在执行之前执行 encodeURL(),ture 为之后,false 为之前实例:Xml 代码 1. 2. /world.jsp?country=(a-z+)city=(a-z+)$ 3. /world/$1/$2 4. Java 代码 1. 使用

9、jsp 2. nyc 3. 将输出 4. nyc 5. 6. 或者使用 jstl 标签 7. nyc 8. 将输出 9. nyc 元素Xml 代码 1. 2. 3. lt;rule 4. World Rule 5. /world/(a-z+)/(a-z+)$ 6. /world.jsp?country=$1city=$2 7. 元素Xml 代码 1. 2. lt;rule 3. World Rule 4. 5. Cleanly redirect world requests to JSP, 6. a country and city must be specified. 7. 8. /worl

10、d/(a-z+)/(a-z+)$ 9. /world.jsp 10. 元素可以用来为 rule 元素选择条件,所有条件将在规则执行时执行(除非显式的把“next” 设为“or” )参数 取值 描述typeheader(默认)、method、port、time 等设置一些条件的类型name 可为任何值如果 type 取值为 header,这个名称将是 http header 的值next and(默认)、orand:下一个rule 元素和这个rule 必须匹配。or:下一个 rule元素或者这个condition 将被匹配operatorequal(默认)、notequal、greater、le

11、ss 等ie 请求的值和condition 值比较实例:Xml 代码 1. Mozilla/1-4 2. 3. bigboss 4. 5. 6. 7. PROPFIND 8. PUT 元素rule 或者 outbound-rule 必须至有一个 from 元素,该值为 url 相对于上下文的值参数 取值 描述casesensitive false(默认)、true是否要求该值的大小写,false 为大小写匹配,true 为忽略大小写 元素重写后的输出值参数 取值 描述typeforward(默认)、passthrough、redirect 等url 的跳转问题last false(默认)、t

12、ruefalse:余下的 rule 元素将被执行,如果该规则符合的话true:剩下的 rule 元素不被执行,如果该规则符合的话encode false(默认)、trueresponse.encodeURL(to) 是否被调用。false:将在 url 重写前调用。true:将不被调用context 如果应用服务器配置允许 cross context(跨越上下文),这个属性将被 forward(只有 forward 可以,redirct 或者其他 to 元素的类型都不可以)比如在 tomcat 的配置文件中设有:null表示当这个规则匹配时,将不会有任何的反应。to 元素可以包含后引用(backreferences )和变量Backreferences比如: %NProvides access to the grouped parts (parentheses) of the pattern from the last matched Condition in the current rule. N must be less than 10 and greater

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号