Struts功能詳解——Struts控制流程

來源:互聯網
上載者:User

Struts架構是基於控制層的一個MVC架構,所以對於Struts架構來說,最核心的東西就是控制。這次畢業論文答辯的時候,老師問了“什麼叫控制”。當時聽起來有點雷人。但是事後一想,確實是這樣,Struts就是控制。我畢業論文是採用Struts架構實現的。當然裡面少不了關於控制的理論。我當時回答他的是關於web應用上,控制代表的操作。比如對頁面傳遞過來的資訊進行校正,分發等。但是老師對我的答案不是認同,他說我這個是純工程上的說法,我們要求從理論上說,他從控制論的角度去解釋了一下控制。他說的雖然有點空,但是也不是不對,可能這也是我們這些工程人員所欠缺的吧。

 

既然Struts最核心的就是控制,那麼下面就解釋一下Struts的控制流程。首先看一張時序圖。




說明:

  • 用戶端請求匹配Action URI 樣式的路徑
  • 講用戶端請求傳遞給ActionServlet ,伺服器容器執行。
  • 如果這個是模組化的,將選擇相應的模組。
  • ActionServlet查詢路徑的映射,在struts-config.xml檔案中。
  • 如果映射標明了一個form bean ,ActionServlet判斷它是否存在。
  • 如果mapping的validate欄位為true,則調用validate方法。
  • 如果失敗,ActionServlet轉寄給input對應的頁面。
  • 如果mapping標明一個Action,如果它已經存在或執行個體化,則他被重用。
  • 執行Action的execute方法。調用使用者自訂bean。
  • Action 返回一個ActionForward給ActionServlet。
  • ActionForward指定一個URI,返回使用者視圖。

 

其實Struts控制是一個比較簡單的過程,他主要是控制資料有效性,還有控制資料傳遞路徑有效。還定義了一些如果出錯會採取那些辦法。這裡面用到了很多很好的物件導向的思想。值得去借鑒。在接下來會研究一下。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.