1.激活Tomcat的defaultServlet來處理靜態文件,web.xml配置
<servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.js</url-pattern></servlet-mapping>
a.說到了這里另外說說url-pattern的配置
<!--url-pattern的三種寫法--><!--精確匹配:以"/"開頭,加上servlet名稱。-->/abc<!--路徑匹配:以"/"開頭,加上通配符"*"-->/rsources/*<!--擴展名匹配:以通配符"*"開頭,加上擴展名。-->*.action
2.springmvc處理,spring-mvc.xml配置
<mvc:resources location="/resources/" mapping="/resources/**"/>
3.會把"/**" url,注冊到SimpleUrlHandlerMapping的urlMap中,把對靜態資源的訪問由HandlerMapping轉到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler處理并返回.
DefaultServletHttpRequestHandler使用就是各個Servlet容器自己的默認Servlet.
<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對靜態文件的處理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答