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里的属性只会在对应的当前请求线程中可见,从而保证它是线程安全的。

  • 相关阅读:
    Cefsharp支持MP4和MP3的CEF库cef.redist.x86.3.2623,对应Cefsharp49
    解读设计模式
    模拟支付宝、淘宝登录2
    模拟支付宝、淘宝登录1
    上一篇随笔是2011-11-21 17:23,唏嘘啊。。。
    像素格式
    YUV格式详解
    认识RGB和YUV
    WPF性能优化经验总结
    【日期正则表达式】
  • 原文地址:https://www.cnblogs.com/MyITRoad0916/p/5507633.html
Copyright © 2011-2022 走看看