首頁(yè)常見(jiàn)問(wèn)題正文

Servlet映射路徑中使用通配符

更新時(shí)間:2022-12-30 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在實(shí)際開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)者有時(shí)會(huì)希望某個(gè)目錄下的所有路徑都可以訪問(wèn)同一個(gè)Servlet,這時(shí),可以在Servlet映射的路徑中使用通配符*。通配符的格式有兩種,具體如下。

  ·格式為“*.擴(kuò)展名”,例如*.do匹配以.do結(jié)尾的所有URL地址。

  ·格式為/*,例如/abc/*匹配以/abc開(kāi)始的所有URL地址。

  需要注意的是,這兩種通配符的格式不能混合使用,例如,/abc/*.do是不合法的映射路徑。另外,當(dāng)客戶端訪問(wèn)一個(gè)Servlet時(shí),如果請(qǐng)求的URL地址能夠匹配多條虛擬路徑,那么Tomcat將采取最具體匹配原則查找與請(qǐng)求URL最接近的虛擬映射路徑。例如,對(duì)于如下所示的一些映射關(guān)系:

/abc/*        映射到Servlet1
/*            映射到Servlet2
/abc          映射到Servlet3
*.do          映射到Servlet4

  ·當(dāng)請(qǐng)求URL為/abc/a.html,/abc/*和/*都可以匹配這個(gè)URL,Tomcat會(huì)調(diào)用Servlet1。

  ·當(dāng)請(qǐng)求URL為/abc、/*、*.do和/abc/*都可以匹配這個(gè)URL,Tomcat會(huì)調(diào)用Servlet3。

  ·當(dāng)請(qǐng)求URL為/abc/a.do、/*、*.do和/abc/*都可以匹配這個(gè)URL,Tomcat會(huì)調(diào)用Servlet1。

  ·當(dāng)請(qǐng)求URL為/a.do,/*和*.do都可以匹配這個(gè)URL,Tomcat會(huì)調(diào)用Servlet2。

  ·當(dāng)請(qǐng)求URL為/xxx/yyy/a.do,*.do和/*都可以匹配這個(gè)URL,Tomcat會(huì)調(diào)用Servlet2。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!