更新時(shí)間:2024年01月02日10時(shí)08分 來源:傳智教育 瀏覽次數(shù):
在實(shí)際開發(fā)過程中,開發(fā)者有時(shí)候會(huì)希望某個(gè)目錄下的所有路徑都可以訪問同一個(gè)Servlet,這時(shí),可以在Servlet映射的路徑中使用通配符*。通配符的格式有兩種,具體如下。
·格式為“*.擴(kuò)展名”,例如*.do匹配以.do結(jié)尾的所有URL地址。
·格式為/*,例如/abc/*匹配以/abc開始的所有URL地址。
需要注意的是,這兩種通配符的格式不能混合使用,例如,/abc/*.do是不合法的映射路徑。另外,當(dāng)客戶端訪問一個(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、/*、/abc/*和/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。
北京校區(qū)