WebMvcConfigurer

WebMvcConfigurer 是 Spring Framework 中的一个接口,

用于配置 Spring MVC(Model-View-Controller)框架的行为。

通过实现该接口,可以添加拦截器、跨域配置、自定义消息转换器、视图解析器等。

实现拦截器的不同策略:

编写一个类实现HandlerInterceptor接口;

编写一个类实现WebMvcConfigurer 的 addInterceptors

网络:springboot\springMVC配置拦截器以及放行资源

springboot\springMVC配置拦截器以及放行资源_springmvc配置过滤器检查session-CSDN博客

Filter、Interceptor 几乎拥有相同的功能?

Filter是Servlet定义的原生组件。好处,脱离Spring应用也能使用

Interceptor是Spring定义的接口。可以使用Spring的自动装配等功能

WebMvcConfigurer 接口包括的方法

  1. addInterceptors

通过实现这个方法,您可以添加拦截器,拦截器用于在请求进入控制器方法之前或之后执行一些逻辑。

示例:

@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor(new LoginInterceptor())

.addPathPatterns("/") //所有请求都被拦截包括静态资源

.excludePathPatterns("/","/index","/register" ,"/static/"); //放行的请求

//ps 或者在配置中写spring.mvc.static-path-pattern=/static/**,然后在本页面改下,后边直接写/static/,

}

  1. extendMessageConverters

这个方法允许您扩展或修改默认的消息转换器(HttpMessageConverter),用于处理请求和响应的消息。

  1. configureViewResolvers

这个方法允许您配置视图解析器,您可以添加自定义的视图解析器。

  1. addResourceHandlers

通过实现这个方法,您可以配置静态资源的处理,例如CSS、JavaScript文件或图像。

  1. configureContentNegotiation

这个方法用于配置内容协商策略,允许根据请求的头部信息选择响应的内容类型。

  1. addCorsMappings

用于配置跨域资源共享(CORS)的映射规则,以允许或拒绝跨域请求。

示例:

public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("GET", "POST","OPTIONS") .allowedHeaders("*") .exposedHeaders("Access-Control-Allow-Headers", "Access-Control-Allow-Methods", "Access-Control-Allow-Origin", "Access-Control-Max-Age", "X-Frame-Options") .allowCredentials(false) .maxAge(3600); }

7.注入Bean

如果用的springboot,使用了内置的tomcat,就需要在此注入ServerEndpointExporter,这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint 。

要注意,如果使用独立的servlet容器,而不是直接使用springboot的内置容器,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理

示例:

@Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值