日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

Springboot 增加攔截器及釋放靜態(tài)資源及映射虛擬路徑的方法

時(shí)間:2024-05-10 21:04:43 類型:JAVA
字號(hào):    

Springboot 增加攔截器及釋放靜態(tài)資源的方法

方法一:

@Configuration
public class MyInterceptorConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //配置攔截器
        registry.addInterceptor(new MyInterceptor())
                //對(duì)所有的資源進(jìn)行攔截,包括靜態(tài)資源
                .addPathPatterns("/**")
                .excludePathPatterns("/js/**", "/images/**","/css/**","/upload/**");
    }
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //映射虛擬路徑
        registry.addResourceHandler("/upload/**").addResourceLocations("file:E:\\java\\uploads\\");
    }
}

方法二:

yml配置映射路徑:

spring:
  web:
    resources:
      static-locations: file:E:\\java\\uploads\\,classpath:/static/
  mvc:
    static-path-pattern: /static/**
#    這樣配置后,所有以/static/開頭的URL都會(huì)被映射到file:E:\\java\\uploads\\目錄下的資源。

注意:如上在yml文件中配置了靜態(tài)資源后,那么所有的靜態(tài)資源訪問前綴變成 /static/, 那么攔截排除時(shí),只需要排除 /static即可,如下

@Configuration
public class MyInterceptorConfig implements WebMvcConfigurer {
    @Resource
    private MyInterceptor myInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 實(shí)現(xiàn)WebMvcConfigurer不會(huì)導(dǎo)致靜態(tài)資源被攔截
        registry.addInterceptor(myInterceptor).addPathPatterns("/**").excludePathPatterns("/static/**");
    }
}
<link rel="stylesheet" href="/static/images/global.css">
    <h1 class="red">測(cè)試一下</h1>
    <img src="/static/images/22.png" alt="">
    <img src="/static/2.webp" alt="">

方法三:

    只攔截需要攔截的前綴,其它不需要排除

@Configuration
public class MyInterceptorConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //配置攔截器
        registry.addInterceptor(new MyInterceptor())
                //攔截以/admin/** 開頭的資源進(jìn)行攔截,其它不攔截
                .addPathPatterns("/admin/**");
    }
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //映射虛擬路徑
        registry.addResourceHandler("/upload/**").addResourceLocations("file:E:\\java\\uploads\\");
    }
}


<