Class GenieWrapperHandler

java.lang.Object
org.aoju.bus.starter.wrapper.GenieWrapperHandler
All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor

@Component @ConditionalOnWebApplication(type=SERVLET) public class GenieWrapperHandler extends Object implements org.springframework.web.servlet.HandlerInterceptor
允许定制处理程序执行链的工作流,可以注册任何数量的现有或自定义拦截器 对于某些处理程序组,添加常见的预处理行为不需要修改每个处理程序实现
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    afterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, Exception exception)
    完成请求处理后回调,将调用处理程序执行的任何结果, 因此允许进行适当的资源清理等 注意:只有在拦截器的preHandle 方法返回truepostHandle方法一样,将在每个方法上调用该方法, 在链中的拦截器的顺序是相反的,所以第一个拦截器是最后调用的
    void
    postHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView)
    拦截处理程序的执行 实际上是在HandlerAdapter之后调用的 调用处理程序,但在DispatcherServlet呈现视图之前 可以通过给定的ModelAndView向视图公开额外的模型对象 DispatcherServlet在一个执行链中处理一个处理程序,由 任意数量的拦截器,处理程序本身在最后 使用这种方法,每个拦截器可以对一个执行进行后处理, 按执行链的相反顺序应用
    boolean
    preHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler)
    业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true, 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求; 这里可以加上登录校验,权限拦截、请求限流等

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GenieWrapperHandler

      public GenieWrapperHandler()
  • Method Details

    • preHandle

      public boolean preHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler)
      业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true, 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求; 这里可以加上登录校验,权限拦截、请求限流等
      Specified by:
      preHandle in interface org.springframework.web.servlet.HandlerInterceptor
      Parameters:
      request - 当前的HTTP请求
      response - 当前的HTTP响应
      handler - 执行的处理程序
      Returns:
      如果执行链应该继续执行, 则为:true 否则:false
    • afterCompletion

      public void afterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, Exception exception)
      完成请求处理后回调,将调用处理程序执行的任何结果, 因此允许进行适当的资源清理等 注意:只有在拦截器的preHandle 方法返回truepostHandle方法一样,将在每个方法上调用该方法, 在链中的拦截器的顺序是相反的,所以第一个拦截器是最后调用的
      Specified by:
      afterCompletion in interface org.springframework.web.servlet.HandlerInterceptor
      Parameters:
      request - 当前的HTTP请求
      response - 当前的HTTP响应
      handler - 执行的处理程序
      exception - 处理程序执行时抛出异常
    • postHandle

      public void postHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView)
      拦截处理程序的执行 实际上是在HandlerAdapter之后调用的 调用处理程序,但在DispatcherServlet呈现视图之前 可以通过给定的ModelAndView向视图公开额外的模型对象 DispatcherServlet在一个执行链中处理一个处理程序,由 任意数量的拦截器,处理程序本身在最后 使用这种方法,每个拦截器可以对一个执行进行后处理, 按执行链的相反顺序应用
      Specified by:
      postHandle in interface org.springframework.web.servlet.HandlerInterceptor
      Parameters:
      request - 当前的HTTP请求
      response - 当前的HTTP响应
      handler - 执行的处理程序
      modelAndView - 处理程序返回的{code ModelAndView} 也可以是null)