Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题) 
上面的是从网上copy来的,gooogle过了,基本上都是类似的说法,但有什么证据么,产生这么多的可丢弃对象不会影响到系统?JVM得需要时间来回收吧!不知道网上的说法是怎么得来的 ?_?

Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。不同的生命周期,这个带来了什么好处呢?

解决方案 »

  1.   

    多个action解决了Struts1中线进安全问题,struts1中应该是用单例实现的,
      

  2.   

    struts2每次请求都生成新的action实例,这点相对struts1当然有性能损失。struts2的主要好处不在于是否线程安全,线程安全只要编程时注意就是了,无状态的session bean不也是非线程安全吗,但是却比有状态的session bean用的多。
    spring管理的service,dao也都是非线程安全的。我认为struts2的最大优点就是一改action的无状态设计,让人觉得action就是页面的form,操作action就是操作页面。
    问题二我不知道,呵呵
      

  3.   

    struts2 到底好在哪里   难道仅仅是那个action么(主要关注核心功能,如验证什么的先不打理的)