網上的配置都是xml配置的,這邊專案用的是實現webmvcconfigurationsupport配置類的方法,搞了半天才搞定,記錄一下,方便後來人。
本來訪問靜態資源應該是很容易的,但是由於實現了webmvcconfigurationsupport類,spring預設的配置都沒了,需要自己手動新增。在webmvcconfigurationsupport實現類中加入以下**即可。
@override
protected void addresourcehandlers(resourcehandlerregistry registry)
super.addresourcehandlers(registry);
}
如果要訪問jar包內的目錄,staticpath可以直接寫成"classpath:***xx"
如果要訪問磁碟的檔案
@override
public void addresourcehandlers(resourcehandlerregistry registry)
踩坑的地方
用sweager自動生成的**還有兩個類
package io.swagger.configuration;
import org.springframework.web.servlet.config.annotation.defaultservlethandlerconfigurer;
import org.springframework.web.servlet.config.annotation.webmvcconfigurationsupport;
public class webmvcconfiguration extends webmvcconfigurationsupport
}package io.swagger.configuration;
@configuration
@componentscan(basepackages = "com.trs.xcrawler.handler")
@enablewebmvc
@enableswagger2 //loads the spring beans required by the framework
@propertysource("classpath:swagger.properties")
@import(swaggerdocumentationconfig.class)
public class swaggeruiconfiguration extends webmvcconfigureradapter
registry.addresourcehandler("/**").addresourcelocations(resource_locations);
}}
}
刪掉了沒用的**方便閱讀。
坑在於,@enablewebmvc註解也會取消掉springmvc的一堆配置,導致request.getattribute()拿不到值。且webmvcconfigurationsupport 和webmvcconfigureradapter 會相互衝突,僅會載入乙個。
springMVC訪問靜態資源
web.xml springmvcservlet name org.springframework.web.servlet.dispatcherservletservlet class contextconfiglocationparam name classpath config spring s...
SpringMVC 靜態資源訪問
首先要談在使用web層框架時,都會配置乙個 而 的url pattern有以下幾種 1.攔截所有 jsp js png 全攔截 不建議使用 2.action do 攔截以 action 或者以 do 結尾的請求 3.攔截所有,不包含jsp 包含js png css 建議使用 因此,一般情況下都會使用...
spring mvc 靜態資源訪問配置
如何你的dispatcherservlet攔截 do這樣的url,就不存在訪問不到靜態資源的問題。如果你的dispatcherservlet攔截 攔截了所有的請求,同時對 js,jpg的訪問也就被攔截了。目的 可以正常訪問靜態檔案,不要找不到靜態檔案報404。方案一 啟用tomcat的default...