就是愛分享
Struts框架最早是作為Apache Jakarta專案的組成部分問世運作,專案的創立者希望通過對該專案的研究,改進和提高JAVA Server Pages、Servlet、標籤庫(tag library)以及物件導向的技術水準,它的目的是為了減少在運用MVC設計模型來開發Web應用的時間。

建立基於Struts框架的web應用程式最快捷的方式就是利用Struts框架發佈包中包含的struts-blank.war文件。該檔不僅定義了struts web應用程式的標準的目錄結構而且還包含了開發struts web應用程式所必需的包。

如果使用Eclipse IDE作為開發工具,並部署在應用伺服器Tomcat 5.0中執行,然後再import struts-blank.war進來。由於struts框架本身就是基於servlet,因此需要將tomcat目錄下common\lib中的servlet-api.jar拷到strutsSample\WebContent\WEB-INF\lib中。

在探討Struts MVC運作架構之前我們先來看看基本的MVC運作模式,如圖所示:



所有進入到系統中的Request都會導給一個Controller程式,由Controller來判斷目前這個Request必須交由哪一個程式處理(那一個Request必須交由哪一個程式處理可能是設定在另外一個地方),接著便會呼叫執行該處理程式,並將收到的Request當作參數傳給該程式。在處理過程中需要進行商業邏輯處理的部分就會呼叫執行Model中的程式,Model處理完之後再將結果回傳給Controller,Controller再將結果傳給指定的View來進行畫面呈現。在這個架構中Controller是所有Request的唯一進入點,Model的部分只負責處理系統中的商業邏輯,畫面呈現則全部都由View來負責。

Struts的運作模式是採用MVC的架構,整個運作方式大致如圖所示。當Request進入到Struts時會導給一個ActionServlet來處理,這個程式會根據設定檔struts-config.xml中的設定呼叫執行我們所撰寫的Action處理程式,並將Request當作參數傳給這個Action處理。Action在處理過程中會呼叫一些商業邏輯物件(Business Objectc)中的程式存取後端的資料庫;當Action處理完之後會將結果回傳給ActionServlet,最後ActionServlet再將這個結果可以在struts-config.xml中設定一些JavaBean(ActionForm)來接收Request中的資料,此時Struts便會幫我們將資料塞到JavaBean中,讓我們可以在Action中直接取用,讓我們可以在Action中直接取用,在使用上會比較方便。



我們在使用Struts開發系統時,必須撰寫流程控制程式(Action)、商業邏輯處理程式(Business Object)、畫面呈現程式(JSP)並在設定檔(struts-config.xml)中設定這幾個元件之間的運作關係。當然,如果在流程控制與商業邏輯處理程式之間有使用到一些物件來當作資料傳遞的參數(DTO,Data Transfer Object),那麼這些傳遞資料的物件也必須由我們自行撰寫。

閱讀全文...
標籤: 1 意見 | | edit post