当前位置: 代码迷 >> J2SE >> url-pattern替/是什么意思
  详细解决方案

url-pattern替/是什么意思

热度:337   发布时间:2016-04-23 20:18:12.0
url-pattern为/是什么意思
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工程没有任何关系
------解决思路----------------------
应用路径...
  相关解决方案