`
还有也许
  • 浏览: 168523 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

urlrewritefilter初探

    博客分类:
  • wap
阅读更多

近期学习了一个url定向的小框架urlrewritefilter,希望和大家分享。

1.简介     

     UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。

下载地址:(jar包和原代码都有)

http://tuckey.org/urlrewrite/#download

2.相关配置:首先要将下载的jar包导入到你的项目中,然后再web.xml中写入如下配置(主要就是一个过滤器的配置):

<filter>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>UrlRewriteFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
    <!--一下两项可以不写-->
    <dispatcher>REQUEST</dispatcher>  
    <dispatcher>FORWARD</dispatcher>  
</filter-mapping>  

 3.在和web.xml对等的位置建另一个名为urlrewrite.xml的xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">

<urlrewrite>
    <!--主要就配置两项<rule>和<outbound-rule>里面具体的内容根据不同的逻辑编写不同的内容-->
    <rule>
        <from>/2th</from>
        <to type="redirect">%{context-path}/world.jsp</to>
    </rule>
    
    <rule  match-type="regex">
        <from>([a-z]+)/([a-z]+).html</from>
        <to type="redirect">%{context-path}/$1.jsp?country=$2</to>
    </rule>
    
    <outbound-rule>
        <from>world.jsp</from>
        <to>/2th</to>
    </outbound-rule>
    
</urlrewrite>
 

配置文件规则:

urlrewirte 配置文件必须有一个urlrewrite根元素和包含至少一个rule元素 。

一个rule元素必须包含一个from 和一个to 元素,也可以包含0个以上的condition 元素和0个以上set 元素。

一个rule元素拦截用户的请求,from元素 是请求的url,to 元素是经过重写后的url 输出,下面是类似java 的重写内部实现。

 

3. 元素参数说明

<urlrewrite>元素

 

参数 取值 描述
default-match-type regex(默认)、wildcard 所有的rule和condition  元素都会用到该匹配方法
decode-using header,utf8(默认)、null、iso-8859-1 等 当url 需要解码时request.getCharacterEncoding() 将被用到,如果为空,则为utf-8 
use-query-string false(默认)、true 语句是否加到url的后面
use-context false(默认)、true 上下午路径是否要加到url 中

 

 

 

 

 

 

 

 

 

 

 

 

<rule>元素

参数 取值 描述
enable true(默认)、false 是否应用该rule
match-type regex(默认)、wildcard 应用那种匹配规则

 例子:

<!--请求输入: /world/usa/nyc   输出为  /world.jsp   -->  
<!--应用java 的正则表达式-->  
<rule match-type="regex">  
       <from>^/world/([a-z]+)/([a-z]+)$</from>  
       <to>/world.jsp</to>  
    </rule>  
<!--应用wildcard表达式,该表达式后面会介绍-->  
 <rule match-type="wildcard">  
       <from>/world/*/*</from>  
       <to>/world.jsp</to>  
    </rule>
  

wildcard 表达式匹配方法

  用wildcard 可以取代正则表达式,要使用该表达式的时候记得要在rule 元素中 把match-type 设为 wildcard ,因为默认是使用正则表达式的。

实例:

/big/url/*  匹配 /big/url/abc.html 不匹配 /big/url/abc/dir/ or /big/url/abc/

/big/url/**  匹配/big/url/abc.html, /big/url/abc/dir/ 和  /big/url/abc/

 

实例:

/my/big/url/* 匹配 /my/big/url/abc.html$1 将被设为 abc.html

 

 

1
0
分享到:
评论
1 楼 qiuxiaoj 2010-01-05  
   

相关推荐

    urlrewritefilter

    在深入探讨`URLRewriteFilter`之前,我们先了解下URL重写的基本概念。 URL重写是将URL转换为不同的形式,但仍然指向相同的资源。这种技术在SEO(搜索引擎优化)中特别有用,因为友好且有意义的URL往往能提高网站的...

    UrlRewriteFilter

    UrlRewriteFilter架包和文档

    urlrewritefilter-4.0.3.jar.zip

    标题中的"**urlrewritefilter-4.0.3.jar.zip**"表明这是一个关于URL重写过滤器的软件包,版本号为4.0.3,它被压缩在ZIP格式的文件中。URL重写过滤器是一种广泛用于Java Web应用程序的工具,主要功能是通过修改HTTP...

    urlrewritefilter-3.2.0下载

    标题 "urlrewritefilter-3.2.0下载" 指的是UrlRewriteFilter的3.2.0版本,这是一个非常流行的开源Java过滤器,它主要用于URL重写和管理。在Web开发中,URL重写是一项重要技术,可以用于优化SEO(搜索引擎优化),...

    urlrewritefilter-4.0.3.jar

    这是urlrewritefilter-4.0.3.jar下载,通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL静态地址,本质上通过伪地址进行页面跳转。 软件介绍 urlrewritefilter-4.0.3.jar是有时候项目中的...

    urlrewritefilter实现伪静态

    **URLRewriteFilter详解:实现高效且优雅的伪静态** 在Web开发中,为了提高用户体验和搜索引擎优化(SEO),我们常常需要将动态URL转化为看似静态的格式,这就是所谓的“伪静态”。URLRewriteFilter是一个非常实用...

    urlrewritefilter-4.0.3.zip

    《URLRewriteFilter详解及其在实现伪静态中的应用》 URLRewriteFilter是一款广泛应用于Java Web开发中的开源过滤器,其主要功能是对HTTP请求的URL进行重写,从而实现URL的美化、动态URL的静态化等多种目的。在这个...

    urlrewritefilter-4.0.4.jar.zip

    **URLRewriteFilter详解** URLRewriteFilter是一款广泛使用的开源HTTP重写过滤器,它基于Apache的Tuckey项目开发,主要用于对URL进行重写和转换。在Java Web应用程序中,URLRewriteFilter可以帮助开发者实现诸如...

    jsp 利用urlrewritefilter实现伪静态

    "jsp 利用urlrewritefilter实现伪静态" 这个标题表明了本文将探讨如何在JavaServer Pages (JSP) 中利用URLRewriteFilter来创建伪静态的URL。伪静态技术主要是为了优化搜索引擎排名和用户体验,使得动态生成的网页看...

    urlrewritefilter-3.1.0.zip

    《URLRewriteFilter详解及其在Web应用中的实践》 URLRewriteFilter是开源项目Tuckey提供的一款强大的URL重写工具,它基于Apache的Filter机制,可以对HTTP请求的URL进行灵活的重写和转发,从而实现诸如URL美化、SEO...

    网址重写过滤器urlrewritefilter

    **网址重写过滤器urlrewritefilter详解** 在Web开发中,URL(统一资源定位符)是用户与服务器交互的重要组成部分。一个清晰、简洁的URL不仅可以提高用户体验,也有助于搜索引擎优化(SEO)。`urlrewritefilter`是...

    urlrewritefilter-2.6.zip(URL重写,重命名)

    《URL重写技术详解——基于URLRewriteFilter的实践应用》 在Web开发中,URL重写是一项重要的技术,它能够使我们的网站URL更加简洁、美观,同时也可以隐藏某些敏感信息,提高网站的安全性。本文将围绕...

    urlrewritefilter 例子

    《URLRewriteFilter详解与应用实例》 在Web开发中,URL重写是一个常见的需求,它可以帮助我们优化网站的URL结构,提高用户体验,同时也有利于搜索引擎优化(SEO)。URLRewriteFilter是Apache开源组织Tuckey提供的一...

    urlrewritefilter-3.2.0.zip

    URL重写过滤器(URLRewriteFilter)是基于Apache的开源项目Tuckey提供的一个强大的URL管理工具,主要用于在Web应用程序中进行URL重写和URL映射。它使得我们可以在不改变实际URL的情况下,实现对URL的友好化处理,...

    urlrewritefilter-3.1.0.jar.zip

    《URLRewriteFilter详解及其在伪静态中的应用》 URLRewriteFilter是一款广泛应用于Java Web开发中的开源过滤器,主要用于URL重写和管理。它的主要功能是改变HTTP请求的URL,使得原本动态的URL看起来像是静态的,...

    struts1.2与urlrewritefilter 的整合

    URLRewriteFilter的引入就是为了改进这种情况,它允许我们定义一系列规则来转换URL,使其更易于理解和管理。例如,我们可以将一个复杂的、包含多个参数的URL转换为简洁的、有意义的URL。 整合Struts1.2和...

    urlrewritefilter-2.6.0-src

    《URLRewriteFilter 2.6.0源码解析》 URLRewriteFilter是一款非常流行的开源HTTP重写过滤器,广泛应用于Java Web开发中,它主要用于处理和重写URL,帮助开发者实现动态到静态URL的转换、URL参数的隐藏、会话ID管理...

Global site tag (gtag.js) - Google Analytics