其實Spring 的Servlet攔截器匹配規則(即 <url-pattern>...</url-pattern> )都可以自己定義,例:當映射為@RequestMapping("/user/add")時
攔截*.do、.htm*, 例如:/user/add.do
這是最傳統的方式,最簡單也最實用。不會導致靜態文件(jpg,js,css)被攔截。攔截 /,例如:/user/add
可以實現現在很流行的REST風格。很多互聯網類型的應用很喜歡這種風格的URL。
弊端:會導致靜態文件(jpg,js,css)被攔截后不能正常顯示。想實現REST風格,事情就是麻煩一些。后面有解決辦法還算簡單。
3.** 攔截 /***
這是一個錯誤的方式,請求可以走到Action中,但轉到jsp時再次被攔截,不能訪問到jsp。
攔截 /時的配置文件如下:
<servlet-mapping>
<servlet-name>spring-Servlet</servlet-name>
<!--<url-pattern>*.do</url-pattern>--> <!--第一種-->
<url-pattern>/</url-pattern><!--第二種-->
</servlet-mapping>
<!-- 對靜態資源文件的訪問 不支持訪問WEB-INF目錄 -->
<mvc:default-servlet-handler />
<!--處理HTTP請求/資源/ *有效地服務 在$ { webapproot } /資源/目錄靜態資源
-->
<!--靜態資源-->
<!-- 對靜態資源文件的訪問 支持訪問WEB-INF目錄 -->
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/images/**" location="/images/" />