![](https://i-blog.csdnimg.cn/blog_migrate/bba40e413ea676381b76fd1311035a66.png)
ServletConfig:
![](https://i-blog.csdnimg.cn/blog_migrate/5b6eb083797f4218fcd264b978a16239.png)
Servlet体系结构:
![](https://i-blog.csdnimg.cn/blog_migrate/bbb9ab2b92ce9e26bad43038649b23ce.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c51b5e0c888e1556942cb6ac0a4b3036.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e7f777b1cf28c73de75402da9c3f9a69.png)
=====》》》
![](https://i-blog.csdnimg.cn/blog_migrate/5ab5355715b21265e927b31349412792.png)
目录匹配:只要前面是/user,后面的/*是什么都无所谓,都会匹配成功
注意:如果一个路径同时满足精确匹配和目录匹配比如“/user/select”,那么精确匹配的优先级高于目录匹配,因为他更精确
扩展名匹配:只要扩展名是“.do”即可,前面是啥无所谓,但是注意了,扩展名匹配的前面不能加“/”,否则报错
![](https://i-blog.csdnimg.cn/blog_migrate/f9efb251f17fe503ea87d7863bff716c.png)
ServletConfig:
Servlet体系结构:
=====》》》
目录匹配:只要前面是/user,后面的/*是什么都无所谓,都会匹配成功
注意:如果一个路径同时满足精确匹配和目录匹配比如“/user/select”,那么精确匹配的优先级高于目录匹配,因为他更精确
扩展名匹配:只要扩展名是“.do”即可,前面是啥无所谓,但是注意了,扩展名匹配的前面不能加“/”,否则报错