##spring mvc 靜態資源處理##
web.xml
中dispatcherservlet
的配置如下:
>
>
springmvcservlet-name
>
>
org.springframework.web.servlet.dispatcherservletservlet-class
>
>
>
contextconfiglocationparam-name
>
>
classpath:spring/spring-mvc.xmlparam-value
>
init-param
>
>
1load-on-startup
>
>
trueasync-supported
>
servlet
>
>
>
springmvcservlet-name
>
>
/url-pattern
>
>
在這樣的配置下,dispatcherservlet
會攔截所有的請求,由於靜態資源並不存在對應的處理器,故乙個靜態資源的請求會因找不到對應處理器而導致錯誤
解決方式:
一、
在spring mvc 上下文中定義乙個bean(org.springframework.web.servlet.resource.defaultservlethttprequesthandler
)物件,該物件會對dispatcherservlet
攔截到的請求進行檢查,若該請求是對靜態資源的請求,則轉由web
應用伺服器預設的servlet
處理,若該請求不是靜態資源的請求,則由dispatcherservlet
繼續處理。
default-servlet-name屬性預設值未default
,也可以修改為伺服器預設的servletname
SpringMVC 處理靜態資源
springmvc 處理靜態資源 1.為甚麼會有這樣的問題 優雅的 rest 風格的資源url 不希望帶 html 或 do 等字尾 若將 dispatcherservlet 請求對映配置為 則springmvc 將捕獲web 容器的所有請求,包括靜態資源的請求,springmvc 會將他們當成乙個...
spring mvc 靜態資源處理
spring mvc允許dispatcherservlet 對映為 如此一來就覆蓋了servlet容器預設servlet的對映。但是,我們仍然可以讓servlet容器的預設servlet來處理靜態資源。web.xml中配置 springservlet org.springframework.web....
SpringMVC處理靜態資源
springmvc 處理靜態資源 1.為甚麼會有這樣的問題 優雅的 rest 風格的資源url 不希望帶 html 或 do 等字尾 若將 dispatcherservlet 請求對映配置為 則springmvc 將捕獲web 容器的所有請求,包括靜態資源的請求,springmvc 會將他們當成乙個...