URLRewrite在天乙社区的应用.doc_第1页
URLRewrite在天乙社区的应用.doc_第2页
URLRewrite在天乙社区的应用.doc_第3页
URLRewrite在天乙社区的应用.doc_第4页
URLRewrite在天乙社区的应用.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

URLRewrite的基本使用与在天乙社区中的应用说到URLRewrite在天乙社区的应用首先还是说说URLRewrite的一般应用,首先来介绍下URLRewrite:urlrewriter:url rewrite将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径,比如:有时候需要将/news/ type1/001.jsp 转化成显示路径为/news_type1_001.jsp。要使用URLRewrite技术需要依照一下几步来操作:【第一步】下载jar包在/urlrewrite/#download下载最新的jar文件,当前最新的是beta3.2,我下载的是urlrewritefilter-3.2.zip。解压得到urlrewrite-3.2.0.jar 和 urlrewrite.xml【第二步】新建Web项目TestUrlRewrite,在WebRoot下新建index.jsp,修改其代码如下所示:1. 2. 3. 4. 5. 6. 7. 8. 9. 测试TestUrlRewrite 10. 11. 12. 13. 14. 15. % 16. 17. Stringid=(String)request.getParameter(id); 18. 19. out.println(thevalueis:+id+); 20. 21. % 22. 23. 24. 25. 测试TestUrlRewrite % String id = (String) request.getParameter(id); out.println( the value is : + id + ); % 【第四步】发布程序将程序发布到Tomcat中,然后在浏览器输入如下地址:http:/localhost:8080/TestUrlRewrite/index.jsp?id=2,页面展示效果如图1所示:【第五步】添加urlrewrite文件将urlrewrite-3.2.0.jar复制到WebRootWEB-INFlib下。将urlrewrite.xml复制到WebRootWEB-INF下,其中urlrewrite.xml代码如下所示:1. 2. 3. 6. 7. 8. 9. 10. 11. /(.*).html12. 13. index.jsp?id=$114. 15. 16. 17. /(.*).html index.jsp?id=$1 *.html 是一个正则表达式的串。$1 也是一个正则表达式的语言匹配正则中的组捕获。【第六步】修改web.xml文件在web.xml 增加如下内容:Xml代码 1. 2. 3. UrlRewriteFilter4. 5. 6. 7. org.tuckey.web.filters.urlrewrite.UrlRewriteFilter 8. 9. 10. 11. 12. 13. logLevel14. 15. DEBUG16. 17. 18. 19. 20. 21. 22. 23. UrlRewriteFilter24. 25. /*26. 27. UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel DEBUG UrlRewriteFilter /*【第七步】重启tomcat 访问http:/localhost:8080/TestUrlRewrite/2.html,页面效果如图所示: 在这里是匹配/(.*).html,将请求转发到index.jsp?id=$1。你还可以根据需要转到xxx.action?id=$1天乙社区中URLrewrite的应用好了,说完了URLRewrite的一些基本的应用,我就来说下URLRewrite在天乙社区中是如何应用的,其实在天乙社区中应用一样的很简单。首先在我们分析天乙社区的启动的时候发现了web.xml的配置中有5个过滤器,其中的一个叫做URLRewriteFilter,此配置跟我们平常使用URLRewrite的是一样的,代码如下: UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* 通过这个配置之后,天乙社区在启动的时候就可以直接过滤所有的请求,将地址重定位为静态页面。接下来我们再看看天乙社区使用的转化规则,不错,到urlrewrite.xml中去看就是了,代码如下: forum-action-bid-tagId-page-total.html /forum-(w+)-(d+)-(w+)-(d+)-(d+).html$ /forum.bbscs?action=$1&bid=$2&tagId=$3&page=$4&total=$5 /forum-(w+)-(d+).html$ /forum.bbscs?action=$1&bid=$2 /read-action-bid-postid-tagid-fcpage-fcaction-inpages.html /read-(w+)-(d+)-(w+)-(w+)-(d+)-(w+)-(d+).html$ /read.bbscs?action=$1&bid=$2&id=$3&tagId=$4&fcpage=$5&fcaction=$6&inpages=$7 main.html /main.html$ /main.bbscs main-action-bid-postid.html /main-(w+)-(d+)-(w+).html$ /main.bbscs?action=$1&bid=$2&postID=$3 nag.html /nag.html$ /nag.bbscs?action=index rss-bid.xml /rss-(d+).xml$ /rss?bid=$1 /urltest/status/ %context-path/rewrite-status /rewrite-status /test/status/ !- INSTALLATION in your web.xml add. UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilter /* EXAMPLES Redirect one url /some/old/page.html /very/new/page.html Redirect a directory /some/olddir/(.*) /very/newdir/$1 Clean a url /products/(0-9+) /products/index.jsp?product_id=$1 eg, /products/1234 will be passed on to /products/index.jsp?product_id=1234 without the user noticing. Browser detection Mozilla/1-4 /some/page.html /some/page-for-old-browsers.html eg, will pass the request for /some/page.html on to /some/page-for-old-browsers.html o

温馨提示

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

评论

0/150

提交评论