1. 程式人生 > ><url-pattern>寫成/和/*的區別- CSDN博客

<url-pattern>寫成/和/*的區別- CSDN博客

區別 繼續 媒體 ack ren css 以及 image jsp頁面

<url-pattern>/</url-pattern>
會匹配到/springmvc這樣的路徑型url,不會匹配到模式為*.jsp這樣的後綴型url。

<url-pattern>/*</url-pattern>
會匹配所有的url:路徑型的和後綴型的url(包括/springmvc,.jsp,.js和*.html等)。
下面是關於這個問題在stack overflow上的解釋:
原文鏈接:http://stackoverflow.com/questions/4140448/difference-between-and-in-servlet-mapping-url-pattern
簡單的翻譯如下:
<url-pattern>/*</url-pattern>


這種形式將會覆蓋所有其它的servlet。不管你發出了什麽樣的請求,最終都會在這個servlet中結束。因此,對於servlet來說,這是一個很糟糕的URL模式。通常來講,你只會想要在一個Filter中使用這種模式。它可以通過調用doFilter()方法來使請求繼續。
<url-pattern>/</url-pattern>
這種形式不會覆蓋任何其它的servlet。它僅僅替換了servlet容器中內建的默認servlet。這種形式通常只用來請求靜態資源(CSS/JS/image等)和展示目錄的列表。servlet容器內建的默認servlet同樣可以處理HTTP cache請求、媒體(聲音/視頻)流以及文件的下載。通常來說,你不會想要覆蓋這個默認的servlet,否則,你將不得不自己處理一些瑣碎的任務。因此,對於sevlet來說,這同樣是一個糟糕的URL模式。說到為什麽JSP頁面的請求並不會命中這個servlet,那是因為servlet容器內建的JSP servlet將會被調用,而這個容器內建的JSP servlet已經默認地映射在了*.jsp上。
<url-pattern></url-pattern>

這種空串的形式。當上下文的根被請求的時候,它將被調用。這與<welcome-file>的方式是不同的,因為這種形式在當任何子目錄被請求的時候不會被調用。當你期望一個“首頁servlet”的時候,這種URL模式就是適合你的。

<url-pattern>寫成/和/*的區別- CSDN博客