posts - 14, comments - 22, trackbacks - 0, articles - 4
  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理

urlRewriteFilter来实现url的美化

Posted on 2006-08-04 20:36 誰伴我闖蕩 阅读(2175) 评论(3)  编辑  收藏

在appfuse的web.xml声明文件中有下面的类似声明:

<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>

 <filter-mapping>
        <filter-name>rewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


它所应用到的包存放在lib下的urlrewrite-3.0-beta.jar

它和以上的两部分,以及/web-inf/urlrewrite.xml构成了对url地址的美化

打开这个文件,我们可以看到以下的声明:

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

<!-- https://urlrewrite.dev.java.net/manual/3.0 -->
<urlrewrite>
    <rule>
        <from>^/user/(.*).html$</from>
        <to type="forward">/editUser.html\?username=$1</to>
    </rule>
</urlrewrite>

这样系统就完成了url地址的editUser.html?username=****的美化

如将
http://localhost/aaa/bbb.jsp?id=99&name=abc
表现为:
http://localhost/aaa/bbb/99_abc.html
配置如下:
<rule>
<from>/aaa/bbb/([0-9]+)_([a-z]+).html</from>
<to>/../aaa/bbb.jsp?id=$1&name=$2</to>
</rule>


评论

# re: urlRewriteFilter来实现url的美化  回复  更多评论   

2008-06-03 13:16 by c
懂了

# re: urlRewriteFilter来实现url的美化  回复  更多评论   

2012-08-03 16:33 by 飞翔136136
学习

# re: urlRewriteFilter来实现url的美化  回复  更多评论   

2012-08-31 15:21 by jiangwei
不好意思,我想请教下楼主,下面有这样一个url,
/shanglvaction.do?method=getBaseDateVersion
只有“getBaseDateVersion”这个是动态的

我希望用URL重写给匹配为真实路径,不知道怎么写?
如,真实路径如下:
/v2/shanglvaction_getBaseDateVersion

<rule>
<from>^/shanglvaction.do?method=([a-zA-Za-z]+)$</from>
<to>/v2/shanglvaction_$1.action</to>
</rule>

这是我写的,但是肿么都不对!能不能帮忙改下,谢谢!

只有注册用户登录后才能发表评论。


网站导航:
 
有事在这里给我留言噢!