程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> javaweb項目springmvc,和tomcat對靜態文件的處理,javawebspringmvc

javaweb項目springmvc,和tomcat對靜態文件的處理,javawebspringmvc

編輯:JAVA綜合教程

javaweb項目springmvc,和tomcat對靜態文件的處理,javawebspringmvc


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比較小的。

 

總結:個人覺得第一種比較好,如果沒有做靜態文件cdn的話,還是在默認的servlet做處理比較好,這樣就不會進入攔截器進行處理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved