1. 程式人生 > >Servlet URL對映中/和/*的區別

Servlet URL對映中/和/*的區別

程式碼如下所示:

<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>main</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

/*會覆蓋其他servlets。無論任何請求都會執行該servlet。
/

不會覆蓋其它servlet(它只會替換servlet容器中內建的靜態資源和目錄列表的預設servlet)。就是當請求沒有匹配到一個更具體的URL時,會走預設servlet。對於*.jsp,由於servlet容器中內建了jspServlet,所以不會被/攔截。

Servlet2.5規範中的對映規則
1. 對映到具體的URL
2. 對映到含有萬用字元的URL
3. 對映到擴充套件對映
4. 對映到預設的servlet