闡述struts2的執行流程。
struts 2框架本身大致可以分為3個部分:核心控制器filterdispatcher、業務控制器action和使用者實現的企業業務邏輯元件。
核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器action和業務邏輯元件是需要使用者來自己實現的。使用者在開發action和業務邏輯元件的同時,還需要編寫相關的配置檔案,供核心控制器filterdispatcher來使用。 struts 2的工作流程相對於struts 1要簡單,與webwork框架基本相同,所以說struts 2是webwork的公升級版本。
基本簡要流程如下:
1、客戶端瀏覽器發出http請求。
2、根據web.xml配置,該請求被filterdispatcher接收。
3、根據struts.xml配置,找到需要呼叫的action類和方法, 並通過ioc方式,將值注入給aciton。
4、action呼叫業務邏輯元件處理業務邏輯,這一步包含表單驗證。
5、action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面。
6、返回http響應到客戶端瀏覽器。
工作原理
在struts2框架中的處理大概分為以下幾個步驟
1 客戶端初始化乙個指向servlet容器(例如tomcat)的請求
2 這個請求經過一系列的過濾器(filter)(這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助,例如:sitemesh plugin)
5 actionproxy通過configuration manager詢問框架的配置檔案,找到需要呼叫的action類
6 actionproxy建立乙個actioninvocation的例項。
7 actioninvocation例項使用命名模式來呼叫,在呼叫action的過程前後,涉及到相關***(intercepter)的呼叫。
工作流程
1、客戶端瀏覽器發出http請求.
2、根據web.xml配置,該請求被filterdispatcher接收
3、根據struts.xml配置,找到需要呼叫的action類和方法, 並通過ioc方式,將值注入給aciton
4、action呼叫業務邏輯元件處理業務邏輯,這一步包含表單驗證。
5、action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面
6、返回http響應到客戶端瀏覽器
看到網友的對struts2的原理總結,我自己也總結以便後續的面試,以下是我的疑問
1、客服端發起乙個請求,通過http協議指向tomcat容器,tomcat拿到請求她幹了什麼?
2、我們web.xml配置
struts2
org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter
struts2
/*我們從web配置檔案中可以看到org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter,這個filter這個類有什麼用?
這個 /* 是攔截所有的請求,他攔截了請求做了什麼處理? /*
3.我們struts.xml配置
/hello.jsp
誰負責根據struts.xml配置,找到需要呼叫的action類和方法呢?
4。最後根據struts.xml中的配置找到對應的返回結果result,在返回http響應到客戶端瀏覽器
其實用最簡單的七個步驟:
1:客戶端在瀏覽器中輸入乙個url位址。
2:這個url請求通過http協議傳送給tomcat。
3:tomcat根據url找到對應專案裡面的web.xml檔案。
4:在web.xml裡面會發現有struts2的配置。
5:然後會找到struts2對應的struts.xml配置檔案。
6:根據url解析struts.xml配置檔案就會找到對應的class。
7:呼叫完class返回乙個字string,根據struts.xml返回到對應的jsp。
struts2標籤分類:
1.表單ui標籤
2.非表單ui標籤
3.控制標籤
4.資料標籤
為什麼使用struts2?
1.開源
2.mvc框架
3.純pojo的action
4.更好的標籤特性
5.易測試
6.易擴充套件
action中使用getter setter方法是進行前後臺互動,action利用getter setter方法去獲取或修改引數資訊
Struts2 工作原理
1 客戶端初始化乙個指向servlet容器 例如tomcat 的請求 2 這個請求經過一系列的過濾器 filter 這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助,例如 sitemesh plugin 5 action...
struts2 工作原理
struts2並不是乙個陌生的web框架,它是以webwork的設計思想為核心,吸收struts1的優點,可以說 struts2是struts1和webwork結合的產物。struts2 的工作原理圖 乙個請求在struts2框架中的處理分為以下幾個步驟 1.客戶端發出乙個指向servlet容器的請...
struts2工作原理
struts2工作原理 程式設計原理 使用者傳送http請求 web伺服器 tomcat 載入web.xml web部署描述檔案 檔案 執行struts核心控制器 strutsprepareandexecutefilter或者filterdispatcher 載入struts.xml檔案,通過請求a...