地址映射,用urlrewrite啊

      地址映射,我说的是想baidu博客一样的那个功能,就是创建一个账户之后可以通过http://hi.baidu.com/xxx来访问这个页面,我们 当然不可能每创建一个用户就在本地生成一个页面,那样的方法太鹾了,数据冗余也很大。
    我最初的想法是这样的:设计一个页面,当出现404错误的时候就由这个页面来处理进行页面的跳转。觉得这个还是可行的,不过需要对于访问的地址进行解析, 确实麻烦了一点。于是放弃。
    在Google上搜到过一个设置struts的方法,觉得还是很麻烦,需要配置一大堆东西,还是放弃。
   
    事实上,已经有一个现成的东西了,有人已经写好这样一个Filter来处理地址映射了,叫 UrlWriteFilter
我们要做的只是把这个jar的包放在WEB.INF文件夹中,在web.xml中注册这个filter,写入
 
        < 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 >
        
</ filter-mapping >


   然后配置那个urlwrite就可以了,在urlwrite.xml已经有很多例子了,比如

      < rule >
            
< from > /products/([0-9]+) </ from >
            
< to > /products/index.jsp?product_id=$1 </ to >
        
</ rule >


    
在这里如果你访问的是/products/1234,事实上访问的是/products/index.jsp?product_id=1234
其他的只要使用正则表达式即可。

另外需要注意的是,用了这个东西貌似显示CSS会有问题,只要在调用CSS文件的时候使用绝对路径就好了,一些超链接也最好使用绝对路径。

转载于:https://www.cnblogs.com/vivyli/archive/2010/02/05/1664075.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值