struts2架构中核心对象的探索—— ActionContextClearUp

ActionContextClearUp其实是Defer ClearUP.作用就是延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让action自己清除。
具体看下面的代码,代码很简单

public void doFilter(...){  

   ...  
  try{  
    ...  
    //继续执行所配置的chain中的Filter  
    chain.doFilter(request, response);  
  }finally{  
    //保证在所有动作执行完之后,调用cleanUp  
    ...  
    cleanUp(request);  
  }  
}  

protected static void cleanUp(ServletRequest req) {  

  ...  
  ActionContext.setContext(null);//清除ActionContext实例  
  Dispatcher.setInstance(null);//清除Dispatcher实例(Dispatcher主要是完成将url解析成对应的Action)  
}  

另外注明一下UtilTimerStack的push和pop是用来计算调用方法所执行的开始和结束时间,用来做性能测试的。用法如下:

String timerKey = "ActionContextCleanUp_doFilter: ";  

UtilTimerStack.setActive(true);  

UtilTimerStack.push(timerKey);  
//调用要测试的方法。  
UtilTimerStack.pop(timerKey);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值