在web.xml文件中配置springMVC的時候,攔截了全部請求:css
若將 DispatcherServlet 請求映射配置爲 /,則 Spring MVC 將捕獲WEB 容器的全部請求,包括靜態資源的請求, SpringMVC 會將他web
們當成一個普通請求處理,因找不到對應處理器將導致錯誤 。
spring
能夠在 SpringMVC 的配置文件springmvc-servlet.xml中配置 <mvc:default-servlethandler/> 的方式解決靜態資源的問題:mvc
<mvc:default-servlet-handler/>
<mvc:default-servlet-handler/> 將在 SpringMVC 上下文中定義一個DefaultServletHttpRequestHandler,它會對進入 DispatcherServlet 的請求進行篩查,若是發現是沒有通過映射的請求,就將該請求交由 WEB應用服務器默認的 Servlet 處理,若是不是靜態資源的請求,由DispatcherServlet繼續處理。通常 WEB 應用服務器默認的 Servlet 的名稱都是 default。若所使用的WEB 服務器的默認 Servlet 名稱不是 default,則須要通過defaultservlet-name 屬性顯式指定 。app
使用<mvc:resources>在springmvc-servlet.xml中配置;每增長一個目錄都須要增長一行,以下所示:spa
<mvc:resources location="/css/" mapping="/css/**" /> <mvc:resources location="/fonts/" mapping="/fonts/**" /> <mvc:resources location="/images/" mapping="/images/**" /> <mvc:resources location="/js/" mapping="/js/**" />