JavaWeb中的 路径匹配总结

文章目录

  • 一、配置文件中servlet和filter
    • 三种通配符url-pattern写法
    • 匹配规则
  • 二、springMVC请求路径中ant风格的路径
  • 三、springMVC拦截器中的全匹配
  • 总结


一、配置文件中servlet和filter

三种通配符url-pattern写法

1、精确匹配。以”/“开头,加上servlet名称:/ad;

2、路径匹配。以”/”开头,加上通配符“*”:/*;

3、扩展名匹配。以通配符“*”开头,加上扩展名:*.do;

匹配规则

1、先精确匹配,再路径匹配
例如:

servlet-mapping1:<url-pattern>/adurl-pattern>
servlet-mapping2:<url-pattern>/*url-pattern>

当一个请求http://localhost:8080/ad来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。

2、路径匹配的时候,先最长路径匹配,再最短路径匹配

servlet-mapping1:<url-pattern>/ad/uplaod.jspurl-pattern>
servlet-mapping2:<url-pattern>/*url-pattern>

当一个请求http://localhost:8080/ad/upload.jsp来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配

3、扩展名匹配,是单独于精确匹配和匹配的一类
struts2的扩展名就是.action,所以http://localhost:8080/ad.action会被servlet-mapping:*.action匹配到。

4、以上都找不到servlet,就用默认的servlet,配置为

/

注意:
1、三种匹配方法不能自由组合,如/user/*.do是非法的。
2、/aa/*/bb是精准匹配,这里的*不是通配符

二、springMVC请求路径中ant风格的路径

?:表示任意的单个字符
*:表示任意的0个或多个字符
**:表示任意的一层或多层目录
注意:在使用**时,只能使用/**/xxx的方式

三、springMVC拦截器中的全匹配


使用/**,而不是/*


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(servlet,java)