`

urlrewrite的一个好工具:tuckey urlrewrite

阅读更多
urlrewrite可以将动态的URL进行伪静态,比如把
xxxx.jsp?id=1转为http://xxxx/xxx/1
这里发现一个好工具:tuckey urlrewrite,使用方法如下:

1 下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip

2 放到项目的LIB包中
3 建立urlrewrite.xml文件,放到WEB-INF
目录下,编写如下:
  <?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">    
  
<!--    
  
Configuration file for UrlRewriteFilter    
http://tuckey.org/urlrewrite/    
  
-->    
<urlrewrite>    
    <rule>    
        <from>^/([a-z]+)$</from>    
        <to type= "forward" >/world.jsp?id=$1</to>    
    </rule>    
    <rule>  
        <from>^/world/(.*)$</from>  
        <to>/world.jsp?tid=$1</to>  
    </rule>  
    <rule>  
        <from>^/(.*).html$</from>  
        <to>/test1/$1.jsp</to>  
    </rule>  
       
    <outbound-rule>    
        <note>    
        The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)    
        the url /rewrite-status will be rewritten to /test/status/.    
           
        The above rule and this outbound-rule means that end users should never see the    
        url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks    
        in your pages.    
        </note>    
        <from>/rewrite-status</from>    
        <to>/test/status/</to>    
    </outbound-rule>  
</urlrewrite>  
<?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">

<!--

Configuration file for UrlRewriteFilter
http://tuckey.org/urlrewrite/

-->
<urlrewrite>
<rule>
<from>^/([a-z]+)$</from>
<to type= "forward" >/world.jsp?id=$1</to>
</rule>
<rule>
    <from>^/world/(.*)$</from>
    <to>/world.jsp?tid=$1</to>
</rule>
<rule>
<from>^/(.*).html$</from>
<to>/test1/$1.jsp</to>
</rule>

<outbound-rule>
<note>
The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
the url /rewrite-status will be rewritten to /test/status/.

The above rule and this outbound-rule means that end users should never see the
url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
in your pages.
</note>
<from>/rewrite-status</from>
<to>/test/status/</to>
</outbound-rule>
</urlrewrite>


  rule是url重写规则,from是显示出来的地址,to是映射的实际地址,$1是重写参数,可以为多个,()里是匹配的正则表达式.
  比如:
  <rule>  
        <from>/(.*)/login.htm</from>  
        <to type="forward">/yui/login.htm?name=$1</to>  
    </rule>

  http://localhost:8080/app/abc/login.htm其实际请求的url为http://localhost:8080/app/yui/login.htm?name=abc

4 配置WEB.XML
  <filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/urlrewrite.xml </param-value>
</context-param>

2
0
分享到:
评论
2 楼 zhuzhiguosnail 2015-11-09  
[/quot          e]
1 楼 zhuchao_ko 2011-06-14  
N年前就有啦......你才发现啊  囧。

相关推荐

    urlrewrite

    《深入理解URLRewrite:Java路径重写技术详解》 在Web开发中,URL重写是一种常见的技术,它能够帮助我们优化网站的URL结构,提高搜索引擎优化(SEO),以及实现更加友好的用户界面。本文将重点讲解Java环境下的URL...

    urlrewrite-maven-example.zip

    《URLRewrite:掌握网页地址重写的关键技术》 URLRewrite是一款强大的URL管理工具,尤其在Java Web应用中广泛使用,它可以帮助开发者实现URL的重写和转换,以达到优化URL、隐藏真实路径、提高SEO效果等目的。在本篇...

    UrlRewrite实现伪静态

    UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,它基于Tuckey开源项目,能够帮助开发者实现URL的美化,进而提高网站的用户体验和SEO(搜索引擎优化)效果。在本文中,我们将深入探讨如何使用UrlRewrite...

    urlrewrite包和配置文件

    标题中的“urlrewrite包”指的是Tuckey组织开发的一个开源URL重写工具——UrlRewriteFilter,它基于Apache HTTP服务器的mod_rewrite模块的功能,适用于Java Servlet容器,如Tomcat、Jetty等。这个工具允许开发者通过...

    urlrewrite 支持自定义多配置文件

    confPath 默认 /WEB-INF/urlrewrite.xml 只支持一个配置文件,为了更好的阅读和维护,修改了源码: 1.如果想用原生的urlRewriteFilter confPath 请放完整地址(eg:WEB-INF/urlrewrite.xml); 2.如果想读多个配置文件,...

    网站安全urlrewrite教程和jar包

    `urlrewrite`是一个流行的开源Java过滤器,它基于Apache的`Tuckey URLRewriteFilter`,用于在Servlet容器(如Tomcat)中实现URL重写规则。这个jar包提供了强大的配置灵活性,使得开发者能够轻松地定义各种重写规则。...

    URLrewrite-实例

    总结来说,`URLrewrite`是一个强大且灵活的URL管理工具,它通过XML配置文件实现了对URL的重写和重定向,简化了复杂的URL结构,提高了Web应用的可维护性和用户体验。通过深入理解和熟练掌握`URLrewrite`,开发者可以...

    URLRewrite帮助文档

    URLRewriteFilter是一个功能强大的Web过滤器,主要用于实现URL的改写操作。它能够帮助开发者将动态URL转换成静态URL,这对于提高用户体验、优化SEO(搜索引擎优化)等方面具有重要作用。例如,在网站改版时,新的URL...

    UrlRewrite例子

    UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...

    urlrewrite的简单搭建

    标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...

    使用urlrewrite实现视频文件的下载

    `urlrewrite`是基于Apache的Tuckey开源项目,它是一个强大的URL重写过滤器,可以方便地对URL进行规则配置,以实现复杂的URL管理。`urlrewrite.xml`是`urlrewrite`过滤器的配置文件,其中包含了所有URL重写规则。 ...

    urlrewrite地址重写实例配置说明

    **URLRewrite地址重写**是Web开发中一个重要的技术,它主要用于优化和管理网站的URL,使得URL更友好、更具可读性,同时也能够实现动态URL到静态URL的转换,提升SEO效果。URLRewrite通常与Apache的mod_rewrite或者在...

    urlrewrite 3.2.0 java包

    URLRewrite 是一个功能强大的URL重写和转换工具,适用于Java环境。它基于Apache的Tuckey项目,为Web应用程序提供了类似于Apache HTTP服务器的mod_rewrite模块的功能。在3.2.0这个版本中,开发者可以期待更稳定、更...

    urlRewrite

    每个`&lt;rule&gt;`元素定义了一个URL重写规则。其中,`&lt;from&gt;`元素指定需要被重写的URL模式,而`&lt;to&gt;`元素指定了重写后的目标URL。 ##### 4. 修改页面上的URL请求 最后一步是修改页面上的URL请求,加入混淆字符串。例如...

    java urlrewrite解决默认页问题

    &lt;filter-class&gt;org.tuckey.web.filters.urlrewrite.UrlRewriteFilter &lt;filter-name&gt;UrlRewriteFilter &lt;url-pattern&gt;/*&lt;/url-pattern&gt; ``` **2. `urlrewrite.xml` 配置:** ```xml ^/ &lt;to type="forward"&gt;...

    urlrewrite_demo

    `urlrewrite`通常指的是`Tuckey URLRewriteFilter`,这是一个基于Apache的开源过滤器,用于在Web应用中执行URL重写和重定向。这个工具基于`.htaccess`的规则,为Java EE环境提供了类似的功能。通过配置XML规则文件,...

    urlrewrite 4.0.3 jar包.rar

    `URLRewrite`是一个基于Apache的开源项目,它提供了一个强大的URL重写工具,适用于Java Web应用程序。`URLRewrite 4.0.3`是该工具的一个版本,提供了许多新特性和改进,以满足开发者的需求。 **URL重写原理** URL...

    urlrewrite 完整实例,可直接运行。支持多个参数传递

    总结,`URLRewrite`是一个强大的工具,可以帮助开发者创建更优雅、更易于管理的URL结构,并实现参数的灵活传递。通过对`urlrewrite.xml`配置文件的学习和实践,可以深入理解其工作原理,从而在实际项目中发挥更大的...

    java urlrewrite jar及简单配置

    URLRewrite的核心是基于Tuckey组织开发的URLRewriteFilter,这是一个基于Apache License 2.0的开源项目。 URLRewriteFilter主要通过在web.xml中添加配置来工作,它可以拦截请求,根据预设规则对URL进行转换。这个...

    urlrewrite静态页面的使用例子

    总的来说,`urlrewrite`是一个强大的工具,能够帮助开发者轻松管理应用程序的URL结构,提供更好的用户体验,并对SEO友好。通过理解并应用上述步骤,你可以快速地在你的J2EE项目中实现静态页面的转换。记住,实践是...

Global site tag (gtag.js) - Google Analytics