javaweb中Filter和Servlet的url-pattern配置解析

来源:互联网 发布:易阳指炒股软件 编辑:程序博客网 时间:2024/05/27 14:14

Filter和Servlet支持两种方式的匹配:

(1)./或/*结尾

a.对于Filter,/结尾的只匹配一个路径,即/结尾的这个路径本身,或者说是精确匹配,例如 /manager/ 这个路径就只匹配 /manager/ 这个路径,不能匹配到 manager 路径下的子路径(/manager/1这个路径是不会被 /manager 对应的Filter拦截的); /* 结尾可以拦截 /manager/及其子路径下的所有资源;通常设置为 /*结尾的路径

b.对于Servlet,/结尾表示拦截 /结尾路径下的除了jsp文件以外的所有资源,/*结尾拦截所有的资源,包括动态资源文件(jsp),不过通常我们不设置 /* ,目的是让servlet容器处理 .jsp 这类请求。

(2) *.开头

处理某一类文件,例如*.jsp表示只拦截后缀为jsp的请求。

 要注意的是,Filter和Servlet的路径匹配具有一定的局限性,例如我们想要匹配manager路径下的所有html文件,/manager/*.html是不行的,对于/*/service/*也不能做到匹配路径中包含service路径的资源,/*/service/* 只能匹配 /*/service/a,/*/service/a/b这种,这里的*被当做路径处理而不是匹配符,显然这样的匹配也是不行的。

原创粉丝点击