一、Struts1:

1、基于Servlet(ActionServlet),actionForm众多(类的爆炸),action单例(数据安全[线程安全]问题_实例变量);

2、将所有任务的解决都集于一身.(不容易扩展和定制);

3、action位于控制层. extends Action{...};

4、action中struts1的action和原生servlet api(HttpServletRequest,HttpServlerResponse)绑定在一起,因此不容易测试,需要部署到web容器中进行测试.

Struts2之Struts1与Struts2的区别

二、Struts2:

1、基于filter,没有actionform,action(原型的,独占);

2、separate aware:分离关注.解耦.(interceptor,拦截器);

3、action是模型层(接受参数+pojo);

4、action不需要和struts的action和原生servlet API(HttpServletRequest,HttpServlerResponse)耦合在一起,所以更容易测试,不需要一定要部署到web环境中进行测试;

5、struts2是更加整洁的mvc框架(原因是采用了separate aware技术,实现任务的拆解);

6、Action相关:有很多资源文件需要和Action放在一起.名称一致;

Struts2之Struts1与Struts2的区别


相关文章: