zoukankan      html  css  js  c++  java
  • ActionContext-study

      ActionContext contex=ActionContext.getContext();

      Actioncontext是上下文是一个容器,存放着Action这执行时要用到的一些对象,

      如params,session,servletContext,本地化(Locale)信息等。

      在每次执行时都会创建新的ActionContext,是线程安全的,也就是说在同一个线程里

      ActionConctext是唯一的,这样我的Action就可以在多线程中使用

      

      public static ActionContext getContext() {

      ActionContext context = (ActionContext) actionContext.get();

      if (context == null) {

      OgnlValueStack vs = new OgnlValueStack();

      context = new ActionContext(vs.getContext());

      setContext(context);

      }

      return context;

      }

    一般情况,我们的ActionContext都是通过:ActionContext context = (ActionContext) actionContext.get();来获取的。我们再来看看这里的actionContext对象的创建:static ThreadLocal actionContext = new ActionContextThreadLocal();,ActionContextThreadLocal是实现ThreadLocal的一个内部类。ThreadLocal可以命名为“线程局部变量”,它为每一个使用该变量的线程都提供一个变量值的副本,使每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。这样,我们ActionContext里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的。

  • 相关阅读:
    CodeForces 288A Polo the Penguin and Strings (水题)
    CodeForces 289B Polo the Penguin and Matrix (数学,中位数)
    CodeForces 289A Polo the Penguin and Segments (水题)
    CodeForces 540C Ice Cave (BFS)
    网站后台模板
    雅图CAD
    mbps
    WCF学习-协议绑定
    数据库建表经验总结
    资源位置
  • 原文地址:https://www.cnblogs.com/MyITRoad0916/p/5507633.html
Copyright © 2011-2022 走看看