今日开发收获

1、拦截器与过滤器

①拦截器interceptor是springMvc提供的技术,主要是对处理方法的拦截@xxxMapping

实现:

        1、实现HandlerInterceptor接口重写方法(ctrl+o选择重写的方法)

                   preHandle  目标资源执行前执行 实现拦截功能方法

                                  posthandle执行之后执行

        2、注册(书写配置类,但是注册之前要让spring发现拦截器使用component注解)

                                 

//@Configuration//表示当前类是配置类 就是告诉spring我这里有一些配置内容需要读取
//你有什么配置内容呢?  当前要注册一个拦截器--实现一个规则接口 WebMvcConfigurer

public class WebConfig implements WebMvcConfigurer {
    @Autowired //从spring中拿到拦截器对象
    private LoginCheckInterceptor loginCheckInterceptor;
    //实现 注册拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
                              // registry 注册器 完成拦截器对象的注册
//        registry.addInterceptor(拦截对象).addPathPatterns(拦截路径规则).excludePathPatterns(不拦截的路径)
        registry.addInterceptor(loginCheckInterceptor)
                .addPathPatterns("/**").excludePathPatterns("/error","/user/login");

    }
}

②过滤器是javaEE技术可以对所有的访问服务器的资源实现拦截过滤(静态页面 后端资源)

  • 第1步,定义过滤器 :1.定义一个类,实现 Filter 接口,并重写其所有方法。

  • 第2步,配置过滤器:Filter类上加 @WebFilter 注解,配置拦截资源的路径。引导类上加 @ServletComponentScan 开启Servlet组件支持。

  • @WebFilter(urlPatterns = "/*") //配置过滤器要拦截的请求路径( /* 表示拦截浏览器的所有请求 )

2、全局异常处理

@RestControllerAdvice  //responsebody+controllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    /**
     * 捕获业务异常
     *
     * @param ex
     * @return
     */
    @ExceptionHandler
    public Result exceptionHandler(BaseException ex) {
        log.error("异常信息:{}", ex.getMessage());
        return Result.error(ex.getMessage());
    }

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值