1. 程式人生 > >寫成/和/*的區別

寫成/和/*的區別

 

1、"/*"可以匹配所有url,包括帶副檔名的,一般只用在過濾器上。

2、而"/"很多人理解成不能攔截帶副檔名的,這種理解是錯誤的!它其實也能攔截“.js”,“.css”,".png"等靜態資源的訪問。

看官方文件可知,它是tomcat的預設servlet,當其他的url-pattern匹配不上時都會走這個servlet。它除了能夠處理靜態資源還能夠處理HTTP快取請求,媒體(音訊/視訊)資料流和檔案下載簡歷。所以如果我們的專案中配置了"/",會覆蓋掉tomcat中的default servlet。

 

tomcat伺服器的web.xml配置:

 

 

所以當springMVC的前端控制器配置為“/”時,需要在主配置檔案中配置放行靜態資源。

第一種:

<!-- 放行靜態資源 -->

<mvc:resources location="/js/" mapping="/js/**"/> 

<mvc:resources location="/css/" mapping="/js/**"/>

 <mvc:resources location="/images/" mapping="/js/**"/>

第二種:

<mvc:default-servlet-handler />