我正在经历Struts1与Struts2之间的差异,并且遇到了这一点:
Struts 1 Actions是单例,必须是线程安全的,因为只有一个类的实例来处理对该Action的所有请求。
Struts 2 Action对象是针对每个请求实例化的,因此没有线程安全问题。
现在我的问题是:在Struts2中,为什么Action类没有单例概念?我认为,因为不必要地,每个请求都有更多的对象创建。 如果我错了,请纠正我。
答案 0 :(得分:2)
Java中的对象创建速度非常快。编写线程安全的动作类(和servlet等)是令人生气和容易出错的。
与所有事物一样,这是一种权衡。
答案 1 :(得分:0)
新实例在某种意义上说,它不是创建新对象,而是jvm将创建该对象的实例,因此无论有多少请求是为特定对象提交的......即使实例更多,applcation也会不要挂......