该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-17
zhangqidi 写道 仔细看了一下规范 SRV11<br />
如果包含了*,那就不会做为一个精确匹配的条件了。
<br /> 猜测可能是这样(没有测试,请指正错误):<br /> <br /> <ul> <li>通配符*只在前三种类型中有用。在精确匹配类型中,*没有任何特殊含义(或者做为一个配置错误?)</li> </ul> <ul> <li>楼主说的那个例子(/*.action)的问题,按照定义,肯定不属于前三种任何一种类型。注意第一种类型的“and”逻辑。</li> <li>究竟什么是一个extension类型?原文中对extension的定义是:最后一个“."字符后面的部分中的最后一个分段(fragment)</li> </ul> <br /> <br /> 正是因为/*.action属于一个比较模糊的范畴(自己推测的),所以设置这样一个urlparttern才会报错。 至于extension类型,原文有两个说法,其实也是一样的。 srv11中提到: An extension is defined as the part of the last segment after the last ’.’ character. ser12中提到: A string beginning with a ‘*.’ prefix is used as an extension mapping. 只是两者针对角度不同,srv11是针对如何来映射一个url而讲的。srv12是针对配置来讲的。 |
|
返回顶楼 | |
发表时间:2006-12-17
简单的说,它不支持ant-style的path mapping, 比如/applicationContext*.xml ,/mymodule.*.action之类的,比较让人气馁。
|
|
返回顶楼 | |
发表时间:2006-12-18
江南白衣 写道 简单的说,它不支持ant-style的path mapping, 比如/applicationContext*.xml ,/mymodule.*.action之类的,比较让人气馁。
是啊.有好多人碰到这个问题. 所以现在我用urlrewrite来做这个事情. |
|
返回顶楼 | |
发表时间:2006-12-18
受益匪浅
|
|
返回顶楼 | |
发表时间:2006-12-20
yyjun 写道 好文章,如果确实存在”/*.action”这样一个匹配,在url-pattern里应该怎么定义吗??
是不是应该”/**.action"这样写 |
|
返回顶楼 | |
发表时间:2006-12-21
yyjun 写道 好文章,如果确实存在”/*.action”这样一个匹配,在url-pattern里应该怎么定义吗??
可以自己写个filter/servlet去实现这样的匹配功能,目前servlet规范还不支持这样的功能。 |
|
返回顶楼 | |
发表时间:2007-05-17
受益匪浅,以前一直都不知道,原来有精确匹配,路径匹配,扩展名匹配之分,更不知道原来精确匹配是最优先的.
|
|
返回顶楼 | |
发表时间:2007-05-17
是啊,感觉servlet的匹配功能太弱了。
|
|
返回顶楼 | |