Spring MVC配置靜態資源的正常訪問


  SpringMVC如果過濾器過濾范圍配置了/或者/*,那么框架會過濾所有請求,包括自己寫的請求和靜態資源請求,這樣靜態資源就不能正常加載,包括js文件、css文件、圖片資源訪問的時候都會出現404頁面,下面就來配置不過濾靜態資源的方法

  第一種方法是最原生的,因為開始Spring核心過濾器過濾的路徑是項目下所有路徑,這個時候要改成過濾指定后綴即可,比如*.do,*.html等后綴,這樣自己編寫controller的時候全部主動設置請求為特定后綴,這樣靜態資源和編寫的請求就可以區分開了

  第二種方法是如果我們打算編寫沒有后綴的請求,比如/hello這種,上面方法是有限制的,所以這個時候SpringMVC還是過濾/*這樣的全部請求,我們在web.xml中配置靜態資源優先過濾,這個時候服務器首先加載web.xml提前攔截靜態資源請求,然后SpringMVC過濾器就攔截不到這些請求了,所以tomcat就可以正常使用靜態資源了,在web.xml中添加如下配置,前后均可:

 1   <servlet-mapping>
 2       <servlet-name>default</servlet-name>
 3       <url-pattern>*.jpg</url-pattern>
 4   </servlet-mapping>
 5   <servlet-mapping>
 6       <servlet-name>default</servlet-name>
 7     <url-pattern>*.js</url-pattern>
 8   </servlet-mapping>
 9   <servlet-mapping>
10     <servlet-name>default</servlet-name>
11     <url-pattern>*.css</url-pattern>
12   </servlet-mapping>

  如果有更多的資源需要過濾,比如.png,.gif等等,都可以繼續添加配置,也比較方便

  

  上面就是最簡單的兩種方法,效率肯定是最高的,他們過濾的對象不一樣,一個是只過濾動態url,一個是先過濾靜態資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM