为什么Struts2中的Action类没有Singleton概念?

时间:2011-12-24 20:00:52

标签: struts2

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

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

  • Struts 2 Action对象是针对每个请求实例化的,因此没有线程安全问题。

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

2 个答案:

答案 0 :(得分:2)

Java中的对象创建速度非常快。编写线程安全的动作类(和servlet等)是令人生气和容易出错的。

与所有事物一样,这是一种权衡。

答案 1 :(得分:0)

新实例在某种意义上说,它不是创建新对象,而是jvm将创建该对象的实例,因此无论有多少请求是为特定对象提交的......即使实例更多,applcation也会不要挂......