Struts2的基本原理

2021-06-21 12:47:59 字數 2352 閱讀 7547

闡述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.易擴充套件

Struts2基本原理

闡述struts2的執行流程。struts 2框架本身大致可以分為3個部分 核心控制器filterdispatcher 業務控制器action和使用者實現的企業業務邏輯元件。核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器acti...

struts2基本原理

servlet void init servletconfig cfg 初始化,讀取servlet的配置引數 void service servletrequest request,servletresponse response 服務方法,使用者的每次請求都會執行 void destory 銷毀方...

Struts基本原理

上圖 於struts2官方站點,是struts 2 的整體結構。乙個請求在struts2框架中的處理大概分為以下幾個步驟 1 客戶端初始化乙個指向servlet容器 例如tomcat 的請求 2 這個請求經過一系列的過濾器 filter 這些過濾器中有乙個叫做actioncontextcleanup...