Spring MVC 两个过滤器测试拾遗

9 篇文章 0 订阅
4 篇文章 0 订阅

 

Spring MVC 两个过滤器测试拾遗

 

环境:Spring MVC 4,JDK:8,Tomcat:8.5

 

 

过滤器,理论上,不符合或未达到过滤的条件,应该继续下一步(即应该调用javax.servlet.FilterChain.doFilter())以确保进行正常业务逻辑的流程,否则应该输出错误信息或跳转到JSP或.do进行错误处理。

 

 

过滤器顺序

过滤器名称

逻辑块

备注

1

OtherFilter

  1. start();
  2. filterProcess();
  3. end();

实现javax.servlet.Filter

2

RequestValueFilter

  1. start();
  2. filterProcess();
  3. end();

实现org.springframework.web.filter.OncePerRequestFilter

 

一、异常情况1

  1. 发起请求到myaction;
  2. OtherFilter拦截,如果达到过滤条件,重定向到JSP;
  3. OtherFilter拦截,如果达到过滤条件,转发到(代码指定的).do;
  4. 执行.do逻辑;
  5. 结束;

 

二、异常情况2

  1. 发起请求到myaction;
  2. OtherFilter拦截,如果达到过滤条件,转发到(代码指定的).do;
  3. 执行.do逻辑;
  4. 结束;

 

三、异常情况3

  1. 发起请求到myaction;
  2. OtherFilter拦截,如果达到过滤条件,转发到JSP;
  3. OtherFilter拦截,如果达到过滤条件,转发到JSP;
  4. OtherFilter拦截,如果达到过滤条件,转发到JSP;
  5. 如果是JSP,会死循环,即不管是重定向到JSP还是转发到JSP都会被当前的过滤器拦截

 

四、正常情况

  1. 发起请求到myaction;
  2. OtherFilter.start();
  3. OtherFilter.filterProcess();
  4. RequestValueFilter.start();
  5. RequestValueFilter.filterProcess();
  6. myaction执行逻辑;
  7. RequestValueFilter.end();
  8. OtherFilter.end();

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值