struts1之工作原理

來源:互聯網
上載者:User

標籤:style   class   http   ext   com   strong   

1.初始化:struts架構的總控制器ActionServlet是一個Servlet,它在web.xml中配置成自動啟動的

           Servlet,在啟動時總控制器會讀取設定檔(struts-config.xml)的配置資訊,為struts

           中不同的模組初始化相應的對象。(物件導向思想)

 2.發送請求:使用者提交表單或通過URL向WEB伺服器提交請求,請求的資料用HTTP協議傳給web伺服器。

 3.form填充:struts的總控制器ActionServlet在使用者提交請求時將資料放到對應的form對象中的成員

             變數中。

 4.派發請求:控制器根據配置資訊對象ActionConfig將請求派發到具體的Action,對應的formBean一併

             傳給這個Action中的excute()方法。

 5.處理業務:Action一般只包含一個excute()方法,它負責執行相應的商務邏輯(調用其它的業務模組)

             完畢後返回一個ActionForward對象。伺服器通過ActionForward對象進行轉寄工作。

  6.返迴響應:Action將業務處理的不同結果返回一個目標響應對象給總控制器。

 7.尋找響應:總控制器根據Action處理業務返回的目標響應對象,找到對應的資來源物件,一般情況下

              為jsp頁面。

  8.響應使用者:目標響應對象將結果傳遞給資來源物件,將結果展現給使用者。


例如:

<action parameter="actions" path="/user" scope="request" type="com.zken.User" >      <forward name="success" path="/user/success.jsp" /></action>

parameter="actions",就是表單提交時候一定要有的參數,用來調用action裡的響應函數。如login.do?actions=register,就會調用register這個函數。path="/user",就是通過user.do來訪問actionscope="request"表示表單資料的作用範圍為requesttype="com.zken.User" 表示通過User這個類來響應用戶端請求<forward name="success" path="/user/success.jsp" />表示,當return "success"時,頁面轉寄到/user/success.jsp

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.