Struts2框架剖析

2021-07-25 13:52:19 字數 1500 閱讀 8143

乙個請求在struts2框架中的處理大概分為以下幾個步驟:

1、客戶端通過httpservletrequest初始化乙個指向servlet容器(例如tomcat)的請求;

2、這個請求經過一系列的過濾器(filter)(這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助,例如:sitemesh plugin);

3、接著會被核心過濾器filterdispatcher(2.1.3版本開始,核心過濾器就變成了strutsprepareandexecutefilter

把請求的處理控制權交給actionproxy(**);

5、actionproxy通過configuration manager來載入框架的配置檔案struts.xml,找到需要呼叫的action類;

6、然後,actionproxy會建立乙個actioninvocation的例項。

7、actioninvocation例項在呼叫action的過程前,會依次呼叫相關***(interceptor);

逆序呼叫

相關***(interceptor);

(因為***是乙個套乙個的,action在最後乙個***裡面才呼叫)

9、伺服器通過httpservletresponse響應客戶端的請求;

struts 2框架的開發步驟:

匯入struts 2框架所需要jar包;

在web.xml檔案中定義核心過濾器為struts 2,這樣才可以讓框架介入web應用中;

如果需要以post方式提交使用者請求,則需要定義包含表單資料的jsp頁面,如果僅僅只是以get方式傳送請求,則無須經過這一步;

定義處理使用者請求的action類;

在struts.xml檔案中配置action,就是指定哪個請求對應哪個action進行處理,從而讓核心控制器根據該配置來建立合適的action例項,並呼叫該action的業務控制方法;

配置處理結果和物理檢視資源之間的對應關係;

編寫檢視資源,也就是前台頁面檔案,一般是jsp頁面。

舉例:

hellostruts2" class="com.imooc.action.hellostruts2action">

/result.jsp

/index.jsp

上面的配置片段指定如果使用者請求url為hellostruts2,則使用com.imooc.action.hellostruts2action類來處理,如果處理方法返回值為「success」,則跳轉到result.jsp頁面;

如果處理方法返回值為「error」,則跳轉到index.jsp頁面;

struts2.5.5版本有一些變化的地方,我發現了幾處,大家可以了解一下:

Struts2驗證框架

action配置中一定要設定input返回頁面 新增驗證只要建立驗證的xml檔案 在action同包下,建立 action類名 validation.xml 如 validateaction建立validateaction validation.xml 注意 1.要驗證的方法不能叫input.2.這...

struts2 驗證框架

驗證框架 validate 第一種方式 繼承actionsupport類重寫validate 方法 表示提交到此action所有請求都會執行驗證。eg public classloginaction extendsactionsupport publicstring execute override...

struts2框架校驗

struts2框架校驗執行的先後順序 a 首先執行校驗框架 xml檔案 b 執行自定義方法的校驗方法 validatemyexecute c 執行validate方法。1.框架校驗的參考檔案 a com xwork xwork validator 1.0.2.dtd 校驗器檔案xx validati...