struts1与struts2的区别。
1) 两个框架都是mvc的web框架,
2) struts1是老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本低,struts2核心设计思想主要源自webwork,实现更优雅,更容易扩展
3) struts2修改和完善了struts1中的一些缺陷,struts1中一些悬而未决问题在struts2得到了解决。
4) struts1的前端控制器是一个servlet,名称为actionservlet,struts2的前端控制器是一个filter,在struts2.0中叫filterdispatcher,在struts2.1中叫strutsprepareandexecutefilter。
5) struts1的action需要继承action类,struts2的action可以不继承任何类;struts1对同一个路径的所有请求共享一个action实例,struts2对同一个路径的每个请求分别使用一个独立action实例对象,所有对于struts2的action不用考虑线程安全问题。
6) 在struts1中使用formbean封装请求参数,在struts2中直接使用action的属性来封装请求参数。
7) struts1中的多个业务方法放在一个action中时(即继承dispatchaction时),要么都校验,要么都不校验;对于struts2,可以指定只对某个方法进行校验,当一个action继承了actionsupport且在这个类中只编写了validatexxx()方法,那么则只对xxx()方法进行校验。
8) 与struts1不同,struts2对用户的每一次请求都会创建一个action,所以struts2中的action是线程安全的。
9) struts2的action比较容易进行单元测试,struts1则需要一些特殊的支持才可以进行测试struts 1有哪些核心组件?struts 2结构体系的运行原理(重点)