【问题标题】:Why there is no Singleton concept for Action class in Struts2?为什么 Struts2 中的 Action 类没有 Singleton 概念?
【发布时间】:2011-12-24 20:00:51
【问题描述】:

我正在经历 Struts1 与 Struts2 的差异,并遇到了这一点:

  • Struts 1 动作是单例的,并且必须是线程安全的,因为只有一个类的实例来处理对该动作的所有请求。

  • Struts 2 Action 对象为每个请求实例化,因此不存在线程安全问题。

现在我的问题是:在 Struts2 中,为什么 Action 类没有单例概念?正如我所认为的,因为不必要地为每个请求创建了更多对象。 如果我错了,请纠正我。

【问题讨论】:

    标签: struts2


    【解决方案1】:

    Java 中的对象创建速度快得离谱。编写线程安全的操作类(和 servlet 等)令人讨厌且容易出错。

    就像所有事情一样,有一个权衡。

    【讨论】:

    • @NagappaLM 我不明白这个问题。 Servlet 是单例,而 Struts 2 操作不是。
    【解决方案2】:

    从某种意义上说,新实例不是创建新对象,而是 jvm 会创建该对象的实例,因此无论针对特定对象有多少请求......即使实例更多,应用程序也会不挂...

    【讨论】:

      猜你喜欢
      • 2016-11-30
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2011-03-28
      • 2021-05-09
      • 1970-01-01
      • 2020-10-30
      相关资源
      最近更新 更多