一、struts1要继承一个抽象类。struts1是类编程而不是接口编程。
struts2的action可以实现一个action接口,也可以实现其他的接口,使其成为可选的定制的服务。
二、struts1的单例模式是线程安全的,因为仅有action的一个,实例处理所有请求,单例模式限制了ActionSupport。
struts2提供了一个ActionSupport基类去实现常用的接口。
三、struts2的action对象为每一个请求产生了一个实例,因此struts2没有线程安全问题。
四、struts1依赖于serverAPI。
struts2的action不依赖于任何容器,允许action脱离单独测试。
五、struts2可以通过初始化、设置属性、调用方法测试,支持依赖注入。
六、struts1整合封装了JSTL。
struts2可以使用JSTL,也能使用OGNL
七、struts2线程比struts1高(用第三作答)