struts1 和 struts2流程之間的區別

2021-05-24 01:12:16 字數 729 閱讀 5058

struts1的處理流程:

1、根據瀏覽器是post還是get請求呼叫dopost()、doget()方法,在其中呼叫actionservlet的process()方法。

2、process()獲取requestprocessor物件,呼叫requestprocessor物件的process()方法

3、 process()讀取struts-config.xml,在其中查詢子元素,查詢的條件是:使用者請求的uri與 action元素的path屬性值一樣,找到後確定name屬性,根據name找到元素,再根據action元素的 name匹配值找到相應的actionform bean。

4、 呼叫actionform bean的setter方法填充formbean的屬性,然後呼叫formbean的validate()方法,對表單資料的有效性進行驗證。

5、 requestprocessor的process()方法根據3中找到的中的type屬性尋找action bean物件(有則使用,無則建立),然後將formbean物件,封裝的請求物件等資訊發給找到的action物件,action bean呼叫自己的execute()方法處理。

6、action bean的execute()方法執行完璧後,返回乙個actionforward物件,又回到requestprocessor物件的process()方法,process方法將根據actionforward請求重新定向到指定的頁面。

乙個請求在struts 2框架中的處理大概分為以下幾個步驟。

struts1和struts2的區別

1 struts1必須要繼承乙個抽象基類 dispatchaction struts2 只要是乙個有execute方法的pojo就可以,不用一定繼承 但是,struts2一般繼承乙個com.opensymphany.xwork2.actionsupport來實現一些常用方法。3 表示式 struts...

Struts1和struts2的區別

struts2是從struts1發展而來,但實際上struts2與struts1在框架的設計思想上面還是有很大的區別,stuts1有個核心控制器,但是只提供了乙個介面,也就是execute,還要配置actionform之類的,很麻煩,所以依賴性比較強 而stuts2是針對 開發的,也就是所謂的aop...

Struts1和Struts2的區別

1 從action類上分析 struts1要求action類繼承乙個抽象基類。struts1的乙個普遍問題是使用抽象類程式設計而不是介面 struts2 action提供乙個actionsupport基類去實現常用的介面。action介面不是必須的,任何有execute標識的pojo物件都可以用作s...