1、/ 会匹配到路径型url(比如/user),不会匹配到后缀型url(比如/user.html)
2./ 会匹配所有url
3、url-pattern详解
首先解释一下web.xml中的几种用于定义映射的语法
1) 以”/’开头和以” / * ”结尾的是用来做路径映射的。
2) 以前缀” *. ”开头的是用来做扩展映射的。
3)“/” 是用来定义default servlet映射的。
4)剩下的都是用来定义详细映射的。比如: /aa/bb/cc.action
**所以,为什么定义”/.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。**
为什么形如.jsp就不会被/拦截,而静态资源如.jpg .png就会被拦截呢? .jsp和.jpg不是都是形如.的嘛,有什么不同嘛?
我是在其他文章中看到的解释,通俗点说就是 servlet容器内有其他匹配机制优先级高于该匹配机制 ,所以该匹配放行了.jsp,除了.jsp外其他的url都会被该servlet拦截
配置“/”后,一种可能的现象是myServlet会拦截诸如http://localhost:8080/appDemo/user/users.html、http://localhost:8080/appDemo/user/updateUser的格式的请求,但是并不会拦截http://localhost:8080/appDemo/user/users.jsp、这是因为servlet容器有内置的“.jsp”匹配器,而扩展名匹配的优先级高于缺省匹配,所以才会有上述现象
是看了别人的解读后自己的一些理解 ,不对之处希望指正。
java servlet配置url-pattern路径/的解读
最新推荐文章于 2023-03-17 18:23:10 发布