SpringMVC項目讀取不到外部CSS文件的解決辦法及總結

  昨天,在寫一個新需求的時候,由於沒有前端同事的對接,無奈只有本身寫css,js放到ssm結構的後臺項目中,由於以前開發都是把前端文件放在一個專門的服務器上,一直沒有關注服務端項目讀取靜態資源的問題,運行部署之後,項目死活讀取不到我在webapp目錄下放置的css,js文件,通過一番探索發現了問題.css

  緣由是這樣的,SpringMVC項目由於會在web.xml中配置一個全局的攔截器前端

<servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/web-context.xml</param-value>
   </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

  DispatcherServlet會攔截全部請求,包括對靜態資源css,js的請求,它會將其當作一個正常的請求攔截掉,解決方法是在springmvc的配置文件,也就是上面的web-context.xml中添加<mvc:resources/>:web

    <!--靜態資源訪問-->
    <mvc:resources location="/js/" mapping="/js/**"/>
    <mvc:resources location="/css/" mapping="/css/**"/>

  <mvc:resources/>指定靜態資源的存放位置,指定目錄下的文件不會再受DispatcherServlet的攔截.spring

相關文章
相關標籤/搜索