SpringMvc 訪問靜態資源

2021-10-07 06:57:37 字數 1582 閱讀 2439

網上的配置都是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...