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對這兩個參數在以前就進行了封裝,在接口中沒有使用這兩個參數對象