Java UrlRewriter伪静态技术运用分析.doc_第1页
Java UrlRewriter伪静态技术运用分析.doc_第2页
Java UrlRewriter伪静态技术运用分析.doc_第3页
Java UrlRewriter伪静态技术运用分析.doc_第4页
Java UrlRewriter伪静态技术运用分析.doc_第5页
全文预览已结束

下载本文档

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

文档简介

Java UrlRewriter伪静态技术运用分析 通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面,都将文章内容生成静态页面。 但是有时为了能实时的显示一些信息,或者还想运用动态脚本解决一些问题,不能用静态的方式来展示网站内容,必须用到动态页面显示。 这样以来,就损失了对搜索引擎的友好面,怎么样在两者之间找个中间方法呢,如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点? 这就需要你美化你的网页的地址,这就产生了伪静态技术,也就是我们常说的UrlRewriter重写技术。就是当我们访问一个页面时,地址栏中展示出来的是以“.html”为结尾的静态页面形式,而实际上我们访问的动态网页。这里就需要用到UrlRewriter技术。 大家熟悉的可能有很多服务器都提供Url重写的技术,以前我们用的最多的就是Apache,Jboss这样一些服务器自带的一些Url重写,但是他们的配置比较麻烦,性能又不是太好。现在我们有专一的开源框架来完成Url重写任务,今天我要介绍的就是UrlRewriteFilter,它使用起来比较简单。UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。 我们先简单的了解一下使用Url重写能给你网站带来哪些好处。 第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。 第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。 第三:隐藏技术的实现,我们可以通过Url重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。 第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。 它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。 现在UrlRewriter技术有两个技术平台的,一个就是在Java方向的,另一个就是.NET方向的。 首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter),看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect()。 下面我们就Url重写技术进行简单应用: 第一步:下载urlrewrite-3.2.0beta.jar包,并把urlrewrite-3.2.0beta.jar拷到classpath下。 第二步:在WEB-INF目录下建一个urlrewrite.xml配置文件。 第三步:在web.xml配置文件中初始化配置UrlRewriteFilter。在配置文件中加上下面的代码: 复制代码代码如下: UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* REQUEST FORWARD 最后我要简单的讲一下常用的两个配置规则,以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成urlRewrite.xml,这样即使你加上 复制代码代码如下: confPath /WEB-INF/urlRewrite.xml 在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。 /forum/thread/(0-9+).html$ /forum/list.action?id=$1 /forum/thread/(0-9+).html?page=(0-9+)$ /forum/list.action?id=$1&page=$2 所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。 就是实际的访问地址。比如我们实际的访问地址是:.phome.asia/forum/list.action?id=16931&page=2而我们想把它重写为.phome.asia/forum/thread/16931.html?page=2。这样看起来比我们实际的要好看的多。我们就应该这样的写: 复制代码代码如下: /forum/thread/(0-9+).html?page=(0-9+)$ /forum/list.action?id=$1&page=$2 简单的介绍一下常用的正规表示式: 代码说明 .匹配除换行符以外的任意字符 w匹配字母或数字或下划线或汉字 s匹配任意的空白符 d匹配数字 b匹配单词的开始或结束 匹配字符串的开始 $匹配字符串的结束 常用的&要用&来表示。$1,$2代表与你配置正规表达式/(w+)/(w+)/相对应的参数。默认

温馨提示

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

评论

0/150

提交评论