`
zhyun29
  • 浏览: 30634 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Url Rewrite Filter实现页面伪静态化

    博客分类:
  • java
阅读更多

Url Rewrite Filter 是一个基于java url rewirte开源项目,功能类似Apache中的rewrite模块<o:p></o:p>

一.     主要功能<o:p></o:p>

a)         实现url地址的伪静态化<o:p></o:p>

例如可以把http://localhost:8080/myindex.do?method=listIndex&user=ezplus的请求重定向或转发到http://localhost:8080/blog/ezplus,这样做就避免了url中出现?&之类的符号,而且页面伪静态化之后也增加了被搜索引擎找到的概率.<o:p></o:p>

b)         根据配置文件自动转化页面上的连接<o:p></o:p>

在写页面的时候程序员不用关心在页面中出现的url地址将被如何伪静态化,例如,程序员还是可以在写页面的时候使用http://localhost:8080/myindex.do?method=listIndex&user=ezplus  通过在urlrewrite.xml中配置<outbound-rule></outbound-rule>,既可以实现页面url地址自动转化为伪静态化后的地址,用户在查看页面源码的时候原http://localhost:8080/blog/ezplus将被自动替换为http://localhost:8080/blog/ezplus<o:p></o:p>

二.     其他功能<o:p></o:p>

……<o:p></o:p>

三.     安装使用<o:p></o:p>

a)         下载和安装 Tomcat<o:p></o:p>

b)         部署你的应用<demo app=""></demo><o:p></o:p>

c)         下载  Url Rewrite Filter http://tuckey.org/urlrewrite/<o:p></o:p>

d)         解压 下载后的 urlrewritefilter-3.0.zip <tomcat_home></tomcat_home>\webapps\<demo app=""></demo><o:p></o:p>

e)         修改 web.xml 如下<o:p></o:p>

?xml version=”1.0″ encoding=”UTF-8″?
web-app id=”WebApp_9″ version=”2.4″ xmlns=”http://java.sun.com/xml/ns/j2ee
         xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance
         xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
<o:p></o:p>

display-nameUrl Rewrite/display-name<o:p></o:p>

filter
       
filter-nameUrlRewriteFilter/filter-name
       
filter-classorg.tuckey.web.filters.urlrewrite.UrlRewriteFilter/filter-class
   
/filter
   
filter-mapping
       
filter-nameUrlRewriteFilter/filter-name
       
url-pattern/*/url-pattern
   
/filter-mapping
   
/web-app<o:p></o:p>

f)           修改 WEB-INF 下的 urlrewrite.xml<o:p></o:p>

<rule></rule><o:p></o:p>

        <from></from>/blog/([0-9]+)<o:p></o:p>

        <to></to>/myindex.do?method=listIndex&user=$1<o:p></o:p>

<o:p></o:p>

<outbound-rule></outbound-rule><o:p></o:p>

         <from></from>/myindex.do\?method=listIndex&user=([0-9]+)<o:p></o:p>

             <!---->(request.getContextPath()+"/myindex.do?method=listIndex&user=ezplus)%>这里我在”?”前加了转义符”/”,但是看网上很多文章上都不用加,我试过不加,但是总是报错,不知道为什么?  --><o:p></o:p>

          <to></to>/blog/$1<o:p></o:p>

 <o:p></o:p>

8.  jsp页面中原来使用http://localhost:8080/myindex.do?method=listIndex&user=ezplus的地方现改为<o:p></o:p>

response.encodeURL

这里一定要使用response.encodeURL否则<outbound-rule></outbound-rule>不起作用<o:p></o:p>

也可以使用jstl中的<c:url></c:url>标签

 

 

分享到:
评论
10 楼 freesea 2008-05-02  
最近在应用的时候才知道使用这个会严重影响了性能,请看

http://www.iteye.com/post/533819
9 楼 blowfisher 2007-08-19  
使用 UrlRewriteFilter 的一个好处是,在做web前端设计的时候,就可以直接使用规划好的URLs,不用一直拖上一个 APACHE 来测试 URLs 的可用性。<br />
<br />
等到集成测试、布署的时候,考虑性能等因素,再把UrlRewriteFilter拿掉,换上apache的 rewrite 。<br />
<br />
如果不是非常大型的项目,UrlRewriteFilter 并没有显著的性能影响,比起中间层和持久层的性能损失,这点几乎可以忽略
8 楼 farush 2007-08-19  
<p>
zhyun29 写道
</p>
<p>&lt;!--/stro--&gt;(request.getContextPath()+"/myindex.do?method=listIndex&amp;user=ezplus)%&gt;<strong><span style='font-size: 9pt;'><font>这里我在</font></span></strong><strong><span lang='EN-US' style='font-size: 9pt; font-family: Arial;'>”?”</span></strong><strong><span style='font-size: 9pt;'><font>前加了转义符</font></span></strong><strong><span lang='EN-US' style='font-size: 9pt; font-family: Arial;'>”/”,</span></strong><strong><span style='font-size: 9pt;'><font>但是看网上很多文章上都不用加,我试过不加,但是总是报错,不知道为什么?</font></span></strong><strong><span lang='EN-US' style='font-size: 9pt; font-family: Arial;'><span>  </span>--&gt;</span></strong></p>
<p><strong><span lang='EN-US' style='font-size: 9pt; font-family: Arial;'>&lt;o:p&gt;&lt;/o:p&gt;</span></strong>
</p>
<p> </p>
<p>因为:</p>
<p>request.getContextPath() 得到的是/myapp 这样的路径,而不是/myapp/</p>
<p> </p>
7 楼 wl1985 2007-08-19  
appfuse就用了楼主所说的rewriteFilter
配置如下
filter>
        <filter-name>rewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>commons</param-value>
        </init-param>
    </filter>
6 楼 sprite 2007-08-17  
在项目里使用过Url Rewrite Filter,实现页面伪静态化确实挺不错的,可以将地址栏伪装成目录结构从而可以增加搜索引擎的搜索度(因为文件夹的搜索系数比页面的高),也可以借助apache的VirtualHost 在没有开通泛域名解析的情况下实现二级域名,像这样<font><a href='http://xiaoqu.goojia.com/'>http://xiaoqu.goojia.com/</a>           <a href='http://xiaoqu.goojia.com/xiaoqu-2434'><font>http://xiaoqu.goojia.com/xiaoqu-2434</font></a>      <font><a href='http://xiaoqu.goojia.com/search/--%E9%97%B5%E8%A1%8C%E5%8C%BA-%E5%8F%A4%E7%BE%8E%E7%BD%97%E9%98%B3%E6%9D%BF%E5%9D%97-----2-0------------price.html'>http://xiaoqu.goojia.com/search/--%E9%97%B5%E8%A1%8C%E5%8C%BA-%E5%8F%A4%E7%BE%8E%E7%BD%97%E9%98%B3%E6%9D%BF%E5%9D%97-----2-0------------price.html</a></font>但是值得注意的一点是,因为请求进出都有拦截,所以性能方面不是太好。</font>
5 楼 itjunhua 2007-08-17  
apache的效率可能会高些
4 楼 mmwy 2007-05-20  
存在的就是合理的。


另:url_rewtirer手册上有这么一个condition:session-attribute,请问楼上的,不用url rewriter filter,如何用mod_rewrite实现?
3 楼 galaxystar 2007-05-20  
二楼说得不错,apache就是做这个的,干嘛要分离它的职责!
2 楼 zhyun29 2007-05-20  
没错,的确如此,用apache就彻底把urlrewrite的功能透明了,对于多个应用使用起来更方便。urlrewrite filter只是给那些不打算使用apache的应用提供了另外一种选择。
1 楼 海妖的夜 2007-05-20  
这个让apache来负责才是最好的选择吧?
mod_rewrite已经很成熟了,功能,或者效率上都更好吧?

相关推荐

    Url Rewrite Filter实现页面伪静态化,简单实例及步骤

    ### Url Rewrite Filter 实现页面伪静态化:详细步骤与实例解析 #### 一、引言 在现代Web开发中,为了提升用户体验、提高搜索引擎友好度以及优化网站结构,页面伪静态化成为了一种常见的技术手段。本文将详细介绍...

    Url Rewrite 实现jsp页面伪静态化_凌风_.doc

    这个工具的主要目的是实现URL的伪静态化,提高网站的搜索引擎优化(SEO)效果,并且能够自动转换页面内的链接,使得程序员在编写代码时无需考虑URL的具体格式。 **主要功能** 1. **URL伪静态化**:Url Rewrite ...

    UrlRewrite实现伪静态

    在本文中,我们将深入探讨如何使用UrlRewrite来实现伪静态,并了解其配置过程。 1. **什么是URL重写**: URL重写是指将动态URL转换为静态或者看似静态的URL,以提升网站的可读性和美观性。动态URL通常包含多个参数...

    java urlrewrite 实现伪静态化 demo源码

    在这个"java urlrewrite 实现伪静态化 demo源码"中,我们可以深入理解如何使用URLRewrite框架来转化动态URL为更加友好的静态形式。 URLRewrite的核心概念是规则配置,通过定义一系列规则,可以将带有参数的动态URL...

    urlrewrite静态页面的使用例子

    在本文中,我们将深入探讨如何使用`urlrewrite`框架来实现静态页面的转换,这是一个在J2EE环境中常用于URL重写和管理的工具。`urlrewrite`框架可以帮助开发者优化URL结构,使其更加用户友好,同时也便于搜索引擎优化...

    jsp实现URL伪静态.rar

    使用URL重写技术,如Apache的mod_rewrite模块或Tomcat的Context配置,可以将动态请求转换成伪静态形式。在JSP中,我们可能需要结合服务器的配置来实现这一过程。 5. **隐藏Servlet路径** 为了使URL看起来更像静态...

    JSP使用URLRewirte实现url地址伪静态化

    本篇文章将深入探讨如何在JSP环境中使用URLRewrite来实现URL的伪静态化。 首先,理解URL伪静态化的概念至关重要。伪静态化是将动态网页的URL转换成看似静态的URL形式,这样做的好处包括提高搜索引擎友好度、提升...

    伪静态_URLRewrite实例解析

    【伪静态_URLRewrite实例解析】中的主要知识点集中在如何通过URLRewrite技术实现网页的伪静态化,这对于SEO(搜索引擎优化)和用户体验都有积极影响。下面将详细解释这个过程: 1. **什么是伪静态**: 伪静态是一...

    伪静态URLRewrite实例解析

    伪静态URLRewrite技术是实现这一目标的重要手段之一。它主要通过服务器端或应用层面的规则设置,来改变URL的表现形式而不改变其实际的功能性。具体来说: - `&lt;rule&gt;` 是对进入服务器的URL进行重置,即当客户端请求...

    java伪静态简单实例

    在这个实例中,我们将探讨如何使用`urlrewrite`框架来实现Java中的伪静态处理。 首先,让我们了解什么是伪静态。在传统的动态网站中,URL通常包含各种参数,例如 "?id=123",这样的URL对于搜索引擎来说不够友好。而...

    JSP伪静态实现

    在JSP环境中实现伪静态技术的一个常见工具是Tuckey URL Rewrite Filter。这是一个开源的Java URL重写过滤器,它提供了强大的URL重写功能,支持正则表达式的匹配与替换。 #### 四、实现步骤详解 1. **下载并安装Url...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    - **URLRewrite实现URL伪静态化**:通过URLRewrite工具,可以改变URL的展示形式,使其看起来像静态页面,但实际仍由动态页面处理。这种方法并不真正生成静态文件,但在用户看来,URL更简洁,更像静态页面。 4. **...

    JAVA实现URL rewrite伪静态_.docx

    在实际应用中,这些类可能与XML配置文件(如`urlrewrite.xml`)配合使用,定义一系列的URL重写规则。配置文件中的规则会映射到`Rule`对象,然后在`UrlRewriteFilter`中应用这些规则。 总结来说,这个Java实现的URL...

    jsp web 实现伪静态源码

    总的来说,实现JSP伪静态涉及到的主要步骤包括:定义URL重写规则、创建Filter拦截请求、解析URL路径、根据路径信息动态生成JSP内容。这个过程需要对HTTP协议、Servlet、JSP以及URL重写机制有深入的理解。如果你希望...

    伪静态(url重写)

    在Java Web开发中,我们可以使用多种技术实现URL重写,其中包括Apache的`mod_rewrite`模块(在使用Tomcat等非Apache服务器时,可能需要额外的中间件支持)以及Java内置的`Filter`机制。这里我们主要讨论使用Java ...

    java/jsp网站实现伪静态

    Java/JSP网站实现伪静态是一种优化网站性能和搜索引擎优化(SEO)的方法,它将动态页面的URL转换为静态或看似静态的格式,如.html。这样做可以提高网站的加载速度,减少服务器负担,并使搜索引擎更容易抓取和理解...

    ssh2中的urlrewrite和Struts2的生成静态页面

    ### SSH2中的URLRewrite与Struts2生成静态页面 #### URLRewrite的理解与应用 在SSH2(Spring + Struts2 + Hibernate)框架中,URLRewrite是一种强大的工具,可以用于实现URL重写功能,使得网站的URL更加友好、易于...

    伪静态.txt伪静态.txt

    根据提供的文件信息,本文将详细解释“伪静态”这一概念,并深入探讨如何通过配置实现URL重写技术,以便将动态URL转换为用户友好的静态URL形式。 ### 一、伪静态概念 伪静态(Pseudo Static)是一种网页链接的表现...

    urlrewrite技术研究总结成果

    URLRewrite技术是一种基于Apache服务器的开源URL重写工具,主要功能是通过配置规则来实现对URL的灵活管理和转换,从而实现SEO优化、隐藏真实路径、实现动态网站静态化等多种目的。在本研究总结中,我们将深入探讨URL...

    java伪静态的实现doc

    使用`URLRewriteFilter`的优点在于,它不仅可以实现伪静态,还可以进行其他URL重写操作,比如URL美化、隐藏参数等,同时对已有的应用程序改动较小。这种技术在大型网站和电子商务平台中广泛使用,因为它可以提高网站...

Global site tag (gtag.js) - Google Analytics