struts1的Action必需要继承一个抽象类,struts2不须要。struts1是使用抽象类变成而不是接口,struts2是面向接口变成安全
struts1的参数都是封装在Form中,struts2的Action类自己能够经过定位元素,并经过get()set()方法进行参数操做。线程
struts1的Action是单例模式,必须是线程安全的,由于仅有的Action的实例须要处理全部请求,struts2的Action对象为每一个请求产生一个实例,能够不用过于担忧线程安全问题。orm
struts1的Action依赖于servletAPI,struts2再也不依赖servletAPI,从接口上能够看到struts1接口中参数是HttpServletRequest和HttpServletResponse,而struts2对这两个参数在以前就进行了封装,在接口中没有使用这两个参数对象