使用struts開發的時候,只需要關注兩類元件:action bean元件和form bean元件 。這樣還不夠,還需要了解struts核心元件和內部原理,才能保證我們在編寫struts應用時輕鬆解決各種問題。
struts核心元件和執行過程:
struts應用中包含3個元件:控制器元件、模型元件個檢視元件,控制器元件包括actionservlet(核心控制器)、自定義action(代表乙個使用者操作)。
模型元件包括定義和實現業務邏輯的介面和類。
檢視元件包括jsp頁面、actionform和struts標籤。
下面結合struts的執行過程介紹struts核心元件的職能和作用。
actionservlet是struts最核心的元件。在web容器啟動的時候,actionservlet被初始化,載入
struts-config.xml配置檔案(這也是為什麼當struts配置檔案修改的時候需要重新啟動web容器)。struts處理請求的過程如下:
1、當客戶端瀏覽器發起請求到actionservlet時,actionservlet首先對請求進行一系列處理:根據請求的路徑和配置資訊找到對應的action bean 和form bean。
4、action呼叫業務邏輯方法,得到返回值,並返回actionforward物件。
5、控制權重新回到actionservlet,acrionservlet根據action返回的actionform物件**到相應的jsp頁面。
6、處理結果返回給瀏覽器。
需要注意的三點如下:
1)actionservlet將控制器轉到頁面的時候採用的是**方式(request.getrequestdispatcher(url).forward(request,response);),所以**到頁面的 request和action方法引數中的request是同乙個請求,資料可以通過request物件的attribute屬性傳遞。
2)actionform根據物件action的score屬性配置不同而生命週期有所不同。
3)當需要採用重定向的方式轉到新的頁面的時候,可以在action**中使用「request.sendredirect(url);」語句,並返回null;
struts的具體執行過程
struts有乙個 控制器actionservlet,負責處理使用者的url請求,actionservlet在web.xml檔案中配置,它繼承了httpservlet,其實就是乙個普通的servlet。actionservlet中有兩個方法,如下 process方法繼續呼叫requestproces...
Hive元件以及執行過程
對hive的基本組成進行了總結 1 元件 元儲存 metastore 儲存 系統目錄以及關於表 列 分割槽等的元資料 的元件。驅動 driver 控制 hiveql 生命週期的元件,當 hiveql 查詢穿過 hive時。該驅動管理著會話控制代碼以及任何會話的統計。查詢編譯器 query compi...
Hive總結(三)hive元件和執行過程
對hive的基本組成進行了總結 1 元件 元儲存 metastore 儲存 系統目錄以及關於表 列 分割槽等的元資料 的元件。驅動 driver 控制 hiveql 生命週期的元件,當 hiveql 查詢穿過 hive時。該驅動管理著會話控制代碼以及任何會話的統計。查詢編譯器 query compi...