web01工程下有这个LoginServlet
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>web.LoginServlet</servlet-class>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<url-pattern>/</url-pattern>这里 / 是什么意思???
还有另外一个工程web02
由于LoginServlet设置了 <url-pattern>/</url-pattern>
localhost:8080/web02/xxx也会匹配web01下的LoginServlet吗????
------解决思路----------------------
当前应用的网站根目录
------解决思路----------------------
<url-pattern>/</url-pattern> 与 <url-pattern>/*</url-pattern> 效果相同
servlet进行url匹配时,会优先进行精确匹配,其次模糊匹配
比如:定义了<url-pattern>/test</url-pattern> 那么用test 请求时,则优先走/test 了
没有定义 <url-pattern>/test2</url-pattern> 但定义了<url-pattern>/*</url-pattern>,用test2请求时,找不到/test2,但找到了/*,模糊匹配,如果没有精确匹配到,也没有模糊匹配到,则404
其实 servlet定义<url-pattern>/</url-pattern> 或 <url-pattern>/*</url-pattern> 只能去匹配那些无效的url请求
别的,没有什么实际意义
楼主可以自己写demo测试下
localhost:8080/web02 web02工程的请求,只会去找web02工程的web.xml配置或者工程内的servlet注解,跟web01工程没有任何关系
------解决思路----------------------
应用路径...