Class AbstractFilter<P extends IFilterProperties>

java.lang.Object
icu.easyj.web.filter.AbstractFilter<P>
All Implemented Interfaces:
FilterAdapter, jakarta.servlet.Filter
Direct Known Subclasses:
ParamCryptoFilter

public abstract class AbstractFilter<P extends IFilterProperties> extends Object implements FilterAdapter
Filter类的基类

封装如下功能:

  1. 1. exclusions 不需要拦截的地址
Author:
wangliang181230
  • Field Details

    • filterProperties

      protected final P extends IFilterProperties filterProperties
      过滤器配置
    • filterName

      protected String filterName
      过滤器名称
    • exclusions

      protected final Map<String,List<String>> exclusions
      需排除的请求地址
    • needDoFilterCaches

      protected final Map<String,Boolean> needDoFilterCaches
      匹配结果缓存
  • Constructor Details

    • AbstractFilter

      protected AbstractFilter(@NonNull P filterProperties)
      构造函数
      Parameters:
      filterProperties - 过滤器配置
  • Method Details

    • init

      public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException
      初始化过滤器的方法
      Specified by:
      init in interface jakarta.servlet.Filter
      Specified by:
      init in interface FilterAdapter
      Parameters:
      filterConfig - 过滤器配置
      Throws:
      jakarta.servlet.ServletException - Servlet异常
    • destroy

      public void destroy()
      Specified by:
      destroy in interface jakarta.servlet.Filter
      Specified by:
      destroy in interface FilterAdapter
    • isNeedDoFilter

      public boolean isNeedDoFilter(jakarta.servlet.http.HttpServletRequest request)
      判断`当前请求`是否需要执行`当前过滤器`
      Parameters:
      request - 当前请求
      Returns:
      isNeedDoFilter true=需要,false=不需要
    • getFilterProperties

      public P getFilterProperties()
      获取过滤器配置
      Returns:
      过滤器配置
    • getFilterName

      @Nullable public String getFilterName()
      获取过滤器名称
      Returns:
      过滤器名称