Solo  当前访客:1 开始使用


WebMvcConfigurer 增强mvc

作用?

自定义Spring MVC配置,就是增强对mvc的控制

用法

实现 WebMvcConfigurer 接口,重写相关方法

常用的接口方法

addCorsMappings 添加跨域

addInterceptors 添加拦截器

addResourceHandlers 添加静态资源访问

例子

import org.springframework.context.annotation.Configuration;  
import org.springframework.web.servlet.config.annotation.CorsRegistry;  
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;  
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;  
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;  
  
@Configuration  
public class WebConfig implements WebMvcConfigurer {  
  
    // 配置CORS  
    @Override  
    public void addCorsMappings(CorsRegistry registry) {  
        registry.addMapping("/**")  
                .allowedOrigins("http://example.com")  
                .allowedMethods("GET", "POST", "PUT", "DELETE")  
                .allowedHeaders("Content-Type", "Authorization")  
                .allowNullOrigin()  
                .allowCredentials();  
    }  
  
    // 添加拦截器  
    @Override  
    public void addInterceptors(InterceptorRegistry registry) {  
        registry.addInterceptor(new CustomInterceptor())  
                .addPathPatterns("/**")  
                .excludePathPatterns("/login", "/error");  
    }  
  
    // 配置静态资源  
    @Override  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {  
        registry.addResourceHandler("/resources/**")  
                .addResourceLocations("classpath:/static-resources/");  
    }  
  
    // 这里可以重写其他WebMvcConfigurer中的方法来进一步自定义配置  
    // ...  
  
    // 自定义拦截器示例  
    public class CustomInterceptor extends HandlerInterceptorAdapter {  
        @Override  
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {  
            // 在请求处理之前执行的操作  
            return true;  
        }  
  
        // 还可以重写postHandle和afterCompletion方法  
    }  
  
    // 注意:HandlerInterceptorAdapter在Spring 5之后也被废弃了,应该直接实现HandlerInterceptor接口  
    // 但为了与旧代码兼容,这里仍然使用HandlerInterceptorAdapter  
}

标题:WebMvcConfigurer 增强mvc
作者:temp12138
地址:https://solo.mfyzl.icu/articles/2024/03/20/1710913760531.html

标签:
新一篇: fastjson 序列化器 旧一篇: 服务器常见的配置项