上圖**於struts2官方站點,是struts2的整體結構。
乙個請求在struts2框架中的處理大概分為以下幾個步驟:
客戶端初始化乙個指向servlet容器(例如tomcat)的請求
這個請求經過一系列的過濾器(filter)(這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫助,例如:sitemesh plugin)
actionproxy通過configuration manager詢問框架的配置檔案,找到需要呼叫的action類
actionproxy建立乙個actioninvocation的例項。
actioninvocation例項使用命名模式來呼叫,在呼叫action的過程前後,涉及到相關***(intercepter)的呼叫。
在上述過程中所有的物件(action,results,interceptors,等)都是通過objectfactory來建立的。
工作流程:
客戶端瀏覽器發出http請求.
根據web.xml配置,該請求被filterdispatcher接收
根據struts.xml配置,找到需要呼叫的action類和方法, 並通過ioc方式,將值注入給aciton
action呼叫業務邏輯元件處理業務邏輯,這一步包含表單驗證。
action執行完畢,根據struts.xml中的配置找到對應的返回結果result,並跳轉到相應頁面
返回http響應到客戶端瀏覽器
Struts工作原理
struts的完整工作流程 1 在web.xml中為actionservlet配置乙個對映路徑,一般都為 do。2 當乙個jsp頁面執行時,如果使用的是html標籤定義的表單,則會根據action指定的路徑與struts.config.xml檔案中的路徑相匹配,如果匹配失敗,則程式報錯。3 在執行乙...
struts工作原理
圖2.3簡單描述了struts的工作原理。它把struts框架處理客戶請求的整個過程細分為八個步驟,下面就來詳細分析這些步驟。1.讀取配置 初始化moduleconfig物件 採用struts框架的web應用,在web應用啟動時就會載入並初始化actionservlet,在actionservlet...
struts工作原理
struts工作原理 當使用者發起請求是 action 會先到達web.xml執行前端控制器 strutsprepareandexecute 執行後會預設到達struts.xml配置檔案中找到相對應的 package包,在相對應的包中找到對應的名稱的action,解析得到class,並例項化該類。同...