在web.xml檔案中經常看到這樣的配置default,這個配置的作用是:對客戶端請求的靜態資源如、js檔案等的請求交由預設的servlet進行處理,如下所示:
下面是從中摘錄的一些資料
如何你的dispatcherservlet攔截"*.do"這樣的有字尾的url,就不存在訪問不到靜態資源的問題。
如果你的dispatcherservlet攔截"/",為了實現rest風格,攔截了所有的請求,那麼同時對*.js,*.jpg等靜態檔案的訪問也就被攔截了。
我們要解決這個問題。
目的:可以正常訪問靜態檔案,不可以找不到靜態檔案報404。
方案一:啟用tomcat的defaultservlet來處理靜態檔案
要配置多個,每種檔案配置乙個
要寫在dispatcherservlet的前面, 讓 defaultservlet先攔截請求,這樣請求就不會進入spring了,我想效能是最好的吧。
方案二: 在spring3.0.4以後版本提供了mvc:resources , 使用方法:
xml**
<
mvc:resources
location="/images/"
/>
方案三 ,使用
xml**
<
mvc:default-servlet-handler
/>
訪問乙個,還要走層層匹配。不知效能如何?
最後再說明一下,方案
二、方案三 在訪問靜態資源時,如果有匹配的(近似)總***,就會走***。如果你在攔截中實現許可權檢查,要注意過濾這些對靜態檔案的請求。
如何你的dispatcherservlet攔截 *.do這樣的url字尾,就不存上述問題了。還是有字尾方便。
springmvc對靜態資源的訪問
1 在webmvc conf.xml檔案中,新增 location web inf web resources 表示對專案中的靜態資源可以直接已專案名 resources來進行訪問。2 controller層返回json資料方法 在配置檔案中增加如下配置 register defaults true...
SpringMVC 配置靜態資源
如何你的dispatcherservlet攔截 do這樣的url,就不存在訪問不到靜態資源的問題。如果你的dispatcherservlet攔截 攔截了所有的請求,同時對 js,jpg的訪問也就被攔截了。目的 可以正常訪問靜態檔案,不要找不到靜態檔案報404。方案一 啟用tomcat的default...
springMVC訪問靜態資源
web.xml springmvcservlet name org.springframework.web.servlet.dispatcherservletservlet class contextconfiglocationparam name classpath config spring s...