Java秒杀系统7.4 使用拦截器做通用限流

    2.实现流程

Prehandle:

       拦截器AccessInterceptor 中,前置处理:

preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)

    1.调用getUser 获得登录用户,将获得的用户通过UserContext 设置用户,通过handler 解析注解AccessLimit的参数:

  seconds,maxCount,是否需要登录。

   2. 如果用户未登录则调用render(HttpServletResponse response, CodeMsg cm) 将用户未登录信息显示在界面。

  3.如果用户登录则获取用户的id和,request获得的URI地址拼接作为key。value 值为count 。

 4.将注解上最大的次数与redis 中获得的count

5. prehandler 需要返回true 才会调用posthandler

getUser :通过reques获取“token”

通过getCookieValue:通过遍历Cookie 获得“token”

 

 

 

 

你可能感兴趣的:(秒杀项目)