长春火车站到长春机场大巴时刻表,网页怎么制作动画,免费空间网,创客贴网页设计网站之前发过通过继承WebMvcConfigurationSupport来访问静态资源的文章——img标签访问静态资源#xff0c;代码如下
Configuration
public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {/*** 在springboot项目中#xff0c;允许浏览器访问指定本地文件…之前发过通过继承WebMvcConfigurationSupport来访问静态资源的文章——img标签访问静态资源代码如下
Configuration
public class LocalPathWebMvcConfigurer extends WebMvcConfigurationSupport {/*** 在springboot项目中允许浏览器访问指定本地文件** param registry*/Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/img/**).addResourceLocations(file:///D:/exerciting/java/mall-picture/);super.addResourceHandlers(registry);}
}
这个方法是可行的但会带来一个小问题。
问题在项目中加入swagger-ui这种本身就带静态资源的依赖它该怎么访问
像这些本身就要访问静态资源的它们一般是实现了WebMvcConfigurer而不是继承WebMvcConfigurationSupport。
当我们用上面代码中的方法访问静态资源后会发现你不能继续访问swagger-ui.html了所以改进的做法是将自己要访问的静态资源也用实现WebMvcConfigurer中addResourceHandlers方法的方式重写代码如下
Configuration
public class BaaJoyMallWebMvcConfigurer implements WebMvcConfigurer {Autowiredprivate TokenToMallUserMethodArgumentResolver tokenToMallUserMethodArgumentResolver;/*** 在springboot项目中允许浏览器访问指定本地文件最好用实现WebMvcConfigurer的方法而不是继承WebMvcConfigurationSupport的方法重写* 因为如果像swagger-ui这种自带静态资源的可能会因此访问不到** param registry*/Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/goods-img/**).addResourceLocations(file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/goods-img/);registry.addResourceHandler(/upload/**).addResourceLocations(file:///D:/exerciting/java/baajoy-mall-springboot/src/main/resources/upload/);}
}当然两种方法都是可以的至于有没有其他方法还没有太多了解。