對於spring mvc的靜態資源處理。 web
因爲初期的時候對於spring MVC對於靜態資源的處理並非很好,若是將DispatcherServlet請求映射配置爲"/",則springMVC則將捕獲web容器全部請求,包括靜態資源的請求,spring mvc會將它們當成一個普通請求處理,由於找不到對應處理器將致使錯誤。 spring
對於spring mvc 3.x以後,就有新的方式去配置靜態資源了。 服務器
詳解: mvc
<mvc:default-servlet-handler /> spa
在配置了<mvc:default-servlet-handler />以後,會在spring MVC上下文中定義一個org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,他就像一個檢查員同樣,進入DispatcherServlet的URL進行篩查,若是發現的是靜態資源的請求,就會將請求由web應用服務器默認的servlet處理,若是不是才由DispatcherServlet去處理的。 code
<mvc:default-servlet-handler default-servlet-name="yourServerDefaultServletName">
<mvc:resources />
xml
對於<mvc:resources />,容許了靜態資源放在任何位置了,同時也能夠經過location屬性指定靜態資源的位置,隱藏能夠使用「classpath:」屬性了。 資源
PS:對於具體的 get
http://hi.baidu.com/bosscheng1210/item/fb7ab7cea210762646d5c081 servlet
裏面有詳細的介紹。。。