外卖系统拦截器实现(Interceptor)

SpringMVC的拦截器主要是用于拦截控制器方法的执行;

概念:是一种动态拦截方法调用的机制,类似于过滤器。在Spring中动态拦截控制器中方法的执行。

作用:在指定的控制器中调用前后执行预先设定的代码,完成功能增强。

应用场合:AOP,日志,事务,权限管理

1.拦截器的基本使用

SpringMVC实现拦截器主要使用HanderInterceptor接口,拦截器需要注册到容器中

  • 定义拦截器,定义注解Component,实现HandlerInterceptor接口,并且重写所有方法。注意两种拦截方式二选一!!!(Interceptor和Filter)
  • 注册拦截器,其中/**为拦截所有

2、会话技术

会话:用户打开浏览器,访问web服务器的资源,会话开始建立,直到有一方断开连接,会话结束。再一次会话中可以包含多次请求和响应。

会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,一边在统一会话的多次请求之间共享数据。

实现方式:

  • 客户端会话技术:Cookie
  • 服务端绘画技术:Session

代码实现

缺点

服务器集群环境下Session不能共享;

移动APP无法使用cookie;

3、过滤器

过滤器: Filter过滤器是javaWeb三大组件(Servlet、Filter、Listener)之一。

过滤器可以把对资源的请求拦截下来,从而实现一些特殊的处理。

过滤器一般完成一些通用操作,比如:登录鉴权、统一编码处理、敏感字符处理

  • 定义类,实现Filter接口,并重写其所有的方法。
  • 在类上定义@WebFilter注解,配置Filter拦截资源的路径
  • 在doFilter方法中输出一句话,并放行
  • 在引导类上只用@ServletComponentScan开启Serclet组件支持,其实就是让WebFilter生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值