为了账号安全,请及时绑定邮箱和手机立即绑定

Spring拦截器的实时使用是什么?

Spring拦截器的实时使用是什么?

慕桂英3389331 2023-05-24 14:29:20
我正在研究 Spring 拦截器,我知道它作为前端控制器工作,它可以服务于一些请求和一些响应或全部,并且在执行流程中,请求在调用控制器之前首先进入拦截器。但我想知道更多关于它的信息,比如,它的实时场景或用法是什么。例如,我们可以用它来进行会话管理,但我想了解更多。
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

在提到它可以在 Web 应用程序中的什么地方使用之前,我想提一下关于拦截器的 2 个事实 -


在 spring 中,拦截器位于 DispatecherServlet 和 Controller 之间(你已经知道了)


拦截器界面就像 -


public interface HandlerInterceptor {

  boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler);

  void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mav);

  void afterCompletion(HttpServletRequest request, HttpServeletResponse response, Object handler, Exception ex);

}

//img1.sycdn.imooc.com//646db0350001bd4c06530577.jpg

基于以上事实,您可以在以下情况下使用拦截器 -

  • 您可以在渲染视图之前做额外的工作。例如,当全局导航栏 (GNB) 要求根据其权限以不同方式显示项目时,可以处理网页。

  • 可以模仿AOP。@RequestMappingIf该声明为请求指定了一个请求,然后它的 HandlerMethod( @Controller) 将被调用一个处理程序 HandlerMethod。HandlerMethod 通过识别附加信息,例如方法签名,您可以确定是否运行逻辑。这样您就可以使用拦截器作为登录(拦截HttpServletRequest),修改 JSON 或在转到控制器之前或之后对其进行验证。


查看完整回答
反对 回复 2023-05-24
?
潇湘沐

TA贡献1816条经验 获得超6个赞

拦截器的一些实时用法:

  • 维护会话/会话管理。

  • 电子邮件拍摄和数据库检查/记录。

  • 身份验证和授权验证。

  • 请求时间计算。/ 性能调整。ETC。


查看完整回答
反对 回复 2023-05-24
  • 2 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信