1.激活Tomcat的defaultServlet來處理靜態文件,web.xml配置
1
2
3
4
|
<servlet-mapping> <servlet-name> default </servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> |
a.說到了這里另外說說url-pattern的配置
1
2
3
4
5
6
7
|
<!--url-pattern的三種寫法--> <!--精確匹配:以 "/" 開頭,加上servlet名稱。--> /abc <!--路徑匹配:以 "/" 開頭,加上通配符 "*" --> /rsources/* <!--擴展名匹配:以通配符 "*" 開頭,加上擴展名。--> *.action |
2.springmvc處理,spring-mvc.xml配置
1
|
<mvc:resources location= "/resources/" mapping= "/resources/**" /> |
3.會把"/**" url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資源的訪問由HandlerMapping轉到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler處理并返回.
DefaultServletHttpRequestHandler使用就是各個Servlet容器自己的默認Servlet.
1
|
<mvc: default -servlet-handler/> |
多個HandlerMapping的執行順序問題:
DefaultAnnotationHandlerMapping的order屬性值是:0
<mvc:resources/ >自動注冊的 SimpleUrlHandlerMapping的order屬性值是: 2147483646
<mvc:default-servlet-handler/>自動注冊 的SimpleUrlHandlerMapping 的order屬性值是: 2147483647
spring 會先執行order比較小的。
以上所述是小編給大家介紹的JavaWeb項目中springmvc和tomcat對靜態文件的處理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.cnblogs.com/ijuzi/archive/2016/07/14/5669260.html