Urlrewritefilter.docx_第1页
Urlrewritefilter.docx_第2页
Urlrewritefilter.docx_第3页
Urlrewritefilter.docx_第4页
Urlrewritefilter.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Urlrewritefilter使用说明一、 Urlrewritefilter说明及优势Urlrewritefilter说明: Urlrewritefilter是通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL地址,本质上通过伪地址进行页面跳转,隐藏真实地址,达到掩人耳目的目的。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。有以下优势:1:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前。如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多。2:美化URL,去除了那些比如 *.do ,*.action 之类的后缀名。可以自己组织精简更能反映访问模块内容的URL。3:更有利于搜索引擎的收入。通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息。二、 使用步骤1、在其主页(/urlrewrite/)下载该包文件,把其jar 包放在WEB-INF/lib 目录下2、在web.xml中加入以下代码Java代码1. 2. UrlRewriteFilter3. org.tuckey.web.filters.urlrewrite.UrlRewriteFilter4. 5. 6. UrlRewriteFilter7. /*8. REQUEST9. FORWARD10. 3、在 WEB-INF目录下放置urlrewrite.xml配置文件,并在urlrewrite.xml配置文件中使用正则表达式进行地址映射,重启应用即可完成安装Xml代码/world/(.*)0(.*)$ /world.jsp?tid=$1;tip=$2 rule是url重写规则,from是显示出来的地址,to是映射的实际地址,$1、$2是重写参数,可以为多个,()里是匹配的正则表达式.4、测试在项目中新建world.jsp,启动tomcat,输入http:/localhost:8080/mysite/world/10aamysite是你的项目名实际上访问的是http:/localhost:8080/mysite/world.jsp?tid=1&tip=aa这样就简单的实现了伪静态的效果三、基本原理jsp页面地址-服务器filter过滤器-调用urlrewrite.xml映射规则 -服务器响应-转换成伪地址. : 代表任意一个字符 : 在字符串中代表开始;在p代表取反$ : 表示结尾| : 表示或者;a|b表示以a或b开头 : 表示选择;匹配手机号码:13580-99* : 表示前面的字符可以出现0次,1次,或多次+ : 表示前面的字符至少出现一次或多次?: 表示前面的字符可以出现0次或1次 正则表达式 : 允许前面的字符可以出现多少次三、 参数介绍1、web.xml 下的filter 参数设置介绍Xml代码 UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter confReloadCheckInterval 60 confPath /WEB-INF/urlrewrite.xml logLevel DEBUG statusPath /status statusEnabled true statusEnabledOnHosts localhost, dev.*., *. modRewriteConf false !load mod_rewrite style configuration from this parameters value. note, Setting this parameter will mean that all other conf parameters are ignored. modRewriteConfText RewriteRule /(/+)/?(.*) /u/$1/$2 R RewriteRule /(uge)/(/+)$ /$1/$2/ R - ! Defaults to false. Allow conf file to be set by calling /rewrite-status/?conf=/WEB-INF/urlrewrite2.xml designed to be used for testing only allowConfSwapViaHttp false - UrlRewriteFilter /* REQUEST FORWARD 2、urlrewrite.xml 配置文件参数Xml代码 /world/(.*)$ /world.jsp?tid=$1 配置文件规则: urlrewirte 配置文件必须有一个urlrewrite根元素和包含至少一个rule元素 。 一个rule元素必须包含一个from 和一个to 元素,也可以包含0个以上的condition 元素和0个以上set 元素。一个rule元素拦截用户的请求,from元素是请求的url,to 元素是经过重写后的url 输出。 元素参数说明元素:urlrewirte 配置文件的根元素参数取值描述default-match-typeregex(默认)、wildcard所有的rule和condition 元素都会用到该匹配方法decode-using headerutf8(默认)、null、iso-8859-1 等当URL需要解码时URLurequest.getCharacterEncoding()将被用到,如果为空,则为utf-8use-query-stringfalse(默认)、true语句是否加到url的后面use-contextfalse(默认)、true上下午路径是否要加到url 中元素:拦截用户的请求参数取值描述enabletrue(默认)、false是否应用该rulematch-typeRegex(默认)、wildcard应用那种匹配规则 元素: rule 或者outbound-rule 必须至有一个from 元素,该值为url 相对于上下文的值参数取值描述casesensitivefalse(默认)、true是否要求该值的大小写,false为大小写匹配,true为忽略大小写元素:重写后的输出值参数取值描述typeforward(默认)、passthrough、redirect等url 的跳转问题lastfalse(默认)、truefalse:余下的rule 元素将被执行,如果该规则符合的话true:剩下的rule 元素不被执行,如果该规则符合的话encodefalse(默认)、trueresponse.encodeURL(to) 是否被调用。false:将在url重写前调用。true:将不被调用实例:Xml代码 /world/(a-z+)/(a-z+)$ /world.jsp /world/*/* /world.jsp 元素参数取值描述enabledtrue(默认)、false是否应该该规则encodefirstfalse(默认)、false是否在执行之前执行encodeURL(),ture为之后,false为之前实例:Xml代码 /world.jsp?country=(a-z+)&city=(a-z+)$ /world/$1/$2 Java代码 使用jsp a href=nyc 将输出 nyc 或者使用jstl 标签 a href=nyc 将输出 nyc 元素Xml代码 lt;rule World Rule /world/(a-z+)/(a-z+)$ /world.jsp?country=$1&city=$2 元素Xml代码 World Rule Cleanly redirect world requests to JSP, a country and city must be specified. /world/(a-z+)/(a-z+)$ /world.jsp 元素可以用来为rule元素选择条件,所有条件将在规则执行时执行(除非显式的把“next” 设为“or”)参数取值描述typeheader(默认)、method、port、time等设置一些条件的类型name可为任何值如果type 取值为header,这个名称将是http header 的值nextand(默认)、orand:下一个rule 元素和这个rule 必须匹配。or:下一个rule元素或者这个condition 将被匹配operatorequal(默认)、no

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论