您可以在请求中设置属性,并在第二个过滤器中进行检查。

public class FirstFilter implements Filter {

//...

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

servletRequest.setAttribute("executeSecondFilter", true);

//...

if(someReason)

servletRequest.setAttribute("executeSecondFilter", false);

filterChain.doFilter(servletRequest, servletResponse);

}

}

public class SecondFilter implements Filter {

//..

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

if (servletRequest.getAttribute("executeSecondFilter") == null || !((Boolean) servletRequest.getAttribute("executeSecondFilter"))) {

filterChain.doFilter(servletRequest, servletResponse);

}

//...

}

}

您可以简化上述代码,如下所示:

public class FirstFilter implements Filter {

//...

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

//...

if(someReason)

servletRequest.setAttribute("executeSecondFilter", false);

filterChain.doFilter(servletRequest, servletResponse);

}

}

public class SecondFilter implements Filter {

//..

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

if (servletRequest.getAttribute("executeSecondFilter") != null) {

filterChain.doFilter(servletRequest, servletResponse);

}

//...

}

}

这样你只需检查属性“executeSecondFilter”的存在

java filter 跳过_如何在java中的过滤器链中跳过一个过滤器相关推荐

  1. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  2. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  3. Java poi 列移动_如何在java xssf中移動列poi

    如何將現有列數據和格式化到Apache POI中的下一列並將下一列移到右側.如何在java xssf中移動列poi 我試過了. 讓說我的代碼是這樣... XSSFCell oldCell = work ...

  4. java 精确到微妙_如何在Java中以微秒精度测量时间?

    我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...

  5. java 方法当参数_如何在Java中将函数作为参数传递?

    如何在Java中将函数作为参数传递? 这个问题在这里已有答案: Java Pass方法作为参数                                     14个答案 是否可以将方法作为参 ...

  6. java 千位分隔符_如何在Java中设置千位分隔符?

    问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...

  7. java 判断是否换行_如何在java中检测换行符

    是的,我已经阅读了一些关于换行符的其他帖子,但他们没有帮助我.如何在java中检测换行符 我的Java程序应该读取一个.PHP文件,并将源代码分成逐行格式.问题是我似乎无法区分一个换行符和另一个换行符 ...

  8. java如何实例化集合_如何在java中实例化一个Queue对象?

    Queue是一个接口,这意味着你不能直接构造一个Queue . 最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue ...

  9. java date加月_如何在Java中向当前日期添加一个月?

    LocalDate::plusMonths 例: LocalDate.now( ) .plusMonths( 1 ); 最好指定时区. LocalDate.now( ZoneId.of( " ...

最新文章

  1. Beta 冲刺(5/7)
  2. 1049. Counting Ones (30)
  3. sublime text3注册激活及失效解决办法
  4. 【Python基础】盘点 Python 10 大常用数据结构(上篇)
  5. idf实验室--简单编程字符统计
  6. .net 门槛高不高之我见
  7. 基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)
  8. leetcode - 120. 三角形最小路径和
  9. Android 常用语句
  10. 王通讲生物信息学学习方法
  11. 纯新手DSP编程--5.29--DSP/BIOS任务管理和后台线程
  12. 【效率】专为Win7系统设计的极简番茄计时器 - MiniPomodoro (附源码)
  13. windows下USB通讯
  14. (Josephus )约瑟夫环问题 C语言实现
  15. 一些常用软件镜像地址
  16. 五年饮冰,难凉热血”,一名专科生的求学历程
  17. vs2013 qt5.6.3安装
  18. HDU - 6438 Buy and Resell (贪心 + 优先队列)
  19. 2015.4.28 今天开博客了
  20. python中英文字母和中文汉字所占的字节

热门文章

  1. Remove 以及dorp做实验验证MongoDB删除文档后索引是否会自动删除
  2. 关于XD卡写保护问题!
  3. 服务器怎么直接访问数据库文件路径,如何在服务器中找到数据库文件路径
  4. 如何预防 XSS 攻击
  5. 培训班出身的程序员为什么遭人嫌弃
  6. 吴恩达Course1《神经网络与深度学习》week2:神经网络基础 测验及作业
  7. win32应用程序_winxp不是有效的win32应用程序解决方法
  8. 电脑共享文件打不开要如何解决
  9. Spine的默认材质Spine/Skeleton有毛边问题
  10. excel提取数字的方法