zoukankan      html  css  js  c++  java
  • urlrewrite 匹配规则之优先选择

    urlrewrite rule可以使用java的正则表达式匹配规则,但是这里存在一个问题点,假如有一个通配的规则和一个精确匹配的规则,urlrewrite 会选择那个去匹配呢?


    如下两种规则:

    <from>^/ajax/(w+)(.html)$</from>
    			<to type="forward">/ajax/$1.action</to>
    
    			<from>^/(w+)/(w+)(.html)$</from>
    			<to type="forward">/$1-$2.action</to>


    urlrewrite.xml文件

    	<!--Warning 警告:在urlrewrite尽量少的使用通配的规则;
    		由于它匹配到一个就不再匹配第二个了,所以即便是有更加精确的匹配,
    		如果写在通用的匹配规则之后,还是无法匹配的,这是个问题点。望君注意!
    		eg: <from>^/ajax/(w+)(.html)$</from>
    			<to type="forward">/ajax/$1.action</to>
    
    			<from>^/(w+)/(w+)(.html)$</from>
    			<to type="forward">/$1-$2.action</to>
    			
    			如上两种规则:如果请求路径是http://localhost:8080/IcMarket/ajax/login.html
    			显然这两种规则都能匹配:出现的情况就是,这两种规则谁在上面,就现匹配谁的规则;urlrewrite这东西不会像
    			struts2 一样精确的找到最佳匹配的规则,它只要找到一个能够匹配的就不再往下寻找;为了防止你的规则被杂乱无章的匹配,
    			尽量控制好自己想要匹配的原则。
    	-->
    	
    	
  • 相关阅读:
    二分查找算法
    js 分享QQ、QQ空间、微信、微博
    linux安装redis
    redis linux开机启动 (简单高效)
    js 自定义阻止事件冒泡函数
    js常见删除绑定的事件
    js自定义方法绑定元素事件
    js 中 attachEvent 简示例
    idea无法正常显示jsp页面
    get请求的时候特殊符号的注意事项
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3201094.html
Copyright © 2011-2022 走看看