struts2工作原理

2021-06-27 00:04:04 字數 2368 閱讀 6894

闡述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...