希望能过滤网站a地址下的所有请求。在实际的运行中,它确实能过滤a地址下的,不会过滤b地址下的。但是对于不在子目录下的请求(假如我的站点叫demo),如:http://localhost:8080/demo/aDemo.do,这个请求地址竟然能和
经查询资料,修改映射为:
Ok!成功!
配置servlet的<url-pattern>时,容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
① 完全匹配
- <!--
必须以一个“/”开头,可以有扩展名,但不是必需的。 --> - <url-pattern>/test/list.do</url-pattern>
② 目录匹配
- <!--
必须以一个“/”开头,目录可以是虚拟或实际的,总是以一个“/*”结束 --> - <url-pattern>/test/*</url-pattern>
③ 扩展名匹配
- <!--
必须以“*”加“.”加扩展名的形式 --> - <url-pattern>*.do</url-pattern>
如果有人还不理解,可看看此文章