天天看點

struts1之工作原理

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來通路action
scope="request"表示表單資料的作用範圍為request
type="com.zken.User" 表示通過User這個類來響應用戶端請求
<forward name="success" path="/user/success.jsp" />表示,當return "success"時,
頁面轉發到/user/success.jsp      

轉載于:https://www.cnblogs.com/iamconan/p/7383639.html