Restful 拦截

过滤器

能够拿到原始的请求和响应信息
1. 实现 javax.servlet.Filter
2. 声明为@Component
3. 添加第三方过滤器配置到上下文环境中

@Configuration 定义一个配置类

	@Configuration
	public class WebConfig{
		FilterRegistrationBean registrationBean = new FilterRegistrationBean();
		timeFilter timeFilter = new TimeFilter();
		registrationBean.setFilter(timeFilter);
		//声明过滤器生效的URL
		List<String> url = Lists.newInstance();
		url.add("/*");
		registrationBean.setPatternUrl(url);
		
	}		

拦截器

能够拿到原始的请求和响应信息,还有处理响应的方法的名字
1. 实现HandlerInterceptor
2. 声明为@Component
3. 配置拦截器配置器
	
	@Component
	public class TimeInterceptor implements HandlerInterceptor{
		@Override
		public boolean preHandle(HtppServletRequest request,HttpServletResponse response,Object handle) throws Exception{
			//拦截前动作
			((HandleMethod)handle).getBean().getClass().getName();//获取被拦截的类
			((HandleMethod)handle).getMethod().getName();//获取被拦截的方法名
			return false;
		}
		
		@Override
		public void postHandle(HtppServletRequest request,HttpServletResponse response,Object handle, ModelAndView modelAndView) throws Exception{
			//拦截时,拦截动作主要执行地方
		}
	
		@Override
		public void afterCompletion(HtppServletRequest request,HttpServletResponse response,Object handle,Exception ex) throws Exception{
			//所有拦截结束后都会执行的一个方法
		}
	}


	@Configuration
	public class WebConfig extends WebMvcConfigurerAdapter{
		@AutoWired
		private TimeInterceptor timeInterceptor;
		
		@Override
		public void addInterceptors(InterceptorRegistry registry){
			registry.addInterceptor(timeInterceptor);
		}
		
	}

AOP

能够拿到方法真正调用时候的传参的值,但是拿不到原始的Http请求和响应
1. 声明切点
2. 声明切点生效时执行的方法
	@Aspect //这是一个AOP类
	@Component //这是一个Spring 管理的Bean
	public class TimeAspect{
		//声明切面 top.miaojun.controller.UserController下的所有方法生效
		@Around("execution(* top.miaojun.controller.UserController.*(..))")
		public Object handleControllerMethod(ProceedingJoinPoint pjp){
			//主要执行的方法
			Object object = pjp.proceed();
		}
	}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码ge寂寞

谢谢老板,老板大气,老板入大厂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值