struts2工作原理:
程式設計原理:
使用者傳送http請求---》web伺服器(tomcat)--》載入web.xml(web部署描述檔案)檔案-執行struts核心控制器(
strutsprepareandexecutefilter或者filterdispatcher)--> 載入struts.xml檔案,通過請求action名字找到匹配的action -->在action中呼叫(execute)(業務層|資料層) -->執行result=「"--> 通過result 找到struts.xml與result名字匹配結果--》**到
頁面返回給呼叫者
程式呼叫:
struts內部原理圖:
(1)使用者傳送http請求--》啟動web伺服器 ---》載入web.xml(web部署描述檔案)配置檔案 ---》執行web.xml中相應過濾器
actioncontextcleanup:清除頁面中的屬性
other filter(sitemesh:裝飾過濾器)
sitemesh作用:頁面布局、裝飾
filterdispatcher:struts2核心控制器
注意:(a)使用sitemesh(裝飾過濾器),struts2容器 不在管理頁面中屬性,需要呼叫actioncontextcleanup完成銷毀
(b)過濾器執行是有順序
actioncontextcleanup-->sitemesh-->filterdispatcher
(3)如果需要請求action,filterdispatcher就會呼叫它的**(actionproxy)載入配置檔案
(4)actionproxy會呼叫configuration manager讀取strus.xml配置檔案
注意:只載入一次
(5)根據請求名字,actionproxy(action**)呼叫 所有***(inertceptor),actionproxy(action**) 建立action invocation,去執行所對應action類, 根據action類中名字找到匹配result頁面 (jsp、freemarker、velocity)等技術,在此執行***
注意:struts2***和servlet過濾器功能相同, 並比filter強大 ***執行順序:先進後出
(6)相應給使用者(httpservletresponse)
工作原理圖:
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的執行流程。struts 2框架本身大致可以分為3個部分 核心控制器filterdispatcher 業務控制器action和使用者實現的企業業務邏輯元件。核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器acti...