大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Struts2工作流程詳解

Struts2工作流程詳解

更新時間:2022-10-21 10:36:53 來源:動力節點 瀏覽1071次

Struts2是大家要學習的課程,感興趣的小伙伴可以看看本站的Struts2視頻教程,里面的課程內容細致全面,通俗易懂,適合沒有基礎的小伙伴學習。下面我來了解一下Struts2工作流程。

Struts 2 基本流程

從上圖讓我們討論 Struts 2 的流程。下面提到的是步驟:

發送來自用戶的操作請求。

ActionInvocation 由控制器調用

ActionInvocation 調用每個攔截器和操作

已生成結果

生成的結果被發送回 ActionInvocation

生成一個 HttpServletResponse

生成的響應發送給用戶

Struts 2 標準流程(Struts 2 架構)

從頂層的角度來看,基本上 Struts 2 是一個 MVC2 框架。Struts 2 中模型-視圖-控制器模式的五個核心組件是

行動

攔截器

價值堆棧/OGNL

結果/結果類型

查看技術

從上圖可以看出——

控制器是使用 Struts 2 調度程序 servlet 過濾器和攔截器實現的。

該模型是使用動作實現的。

該視圖是使用結果類型和結果實現的。

值堆棧和 OGNL 可用于提供公共線程、鏈接和啟用其他組件之間的集成。

Struts 2 架構的流程:

現在讓我們討論一下 Struts 2 架構的流程

容器檢查 web.xml 文件中的請求并獲取控制器的類名。

Container 形成控制器(StrutsPrepareAndExecuteFilter 或 FilterDispatcher)。從struts2.1開始,就是StrutsPrepareAndExecuteFilter。在 2.1 之前它是 FilterDispatcher。

控制器從 ActionMapper 獲取操作的信息

控制器形式的 ActionProxy

ActionProxy 從從 struts.xml 文件中獲取信息的配置管理器中獲取操作和攔截器堆棧的信息。

ActionProxy 將請求轉發到 ActionInvocation

ActionInvocation 調用每個攔截器和操作

生成一個結果

然后將結果發送回 ActionInvocation

比生成 HttpServletResponse

然后將響應發送給用戶。

Struts 是如何工作的?

web.xml 文件包含與 Web 應用程序相關的所有配置信息。它設置了啟動應用程序的環境。在 web.xml 文件中,StrutsPrepareAndExecuteFilter 被配置為處理來自客戶端的請求并委托 Struts 環境。

StrutsPrepareAndExecuteFilter 準備和執行 Struts 調度過程的不同階段。如果您沒有任何其他需要訪問操作上下文信息的過濾器,我們建議您使用它。

請求:這是第一步,客戶端使用 Web 瀏覽器向單個資源發出請求,然后由 Web 容器發送。之后,Web 容器加載 web.xml 并確認 URL 模式是否匹配。驗證通過后,Web 容器將請求傳輸到Filter Dispatcher。

StrutsPrepareAndExecuteFilter:一旦請求被發送到過濾器調度器,估計請求并根據 URL( ActionMapper )的映射檢查適當的操作調用ActionProxy然后讀取配置文件管理器(如 struts.xml 文件)以檢查準確請求的動作。ActionProxy 讀取然后創建一個ActionInvocation,負責執行命令模式實現,然后將請求發送到適當的 Action 類。

攔截器堆棧:在接收動作類之前,請求通過攔截器堆棧,其中識別出攔截器列表,在創建動作類之前必須檢查這些攔截器。

Action類:然后是請求通過Action類,然后完成代碼,最終生成執行結果為Success或Input或Error。

Result:根據產生的代碼,Controller找到 View 并交出 Action 的結果。處理時,Struts 標簽由框架提供,模板可以使用。

攔截器堆棧:在調用客戶端之前,將再次檢查攔截器,并通過 web.xml 中配置的過濾器將響應返回給用戶。

Struts 2 請求生命周期

用戶發送請求:用戶向 Servlet 容器調用未指定資源的請求。

FilterDispatcher 確定適當的操作: FilterDispatcher 接受請求并檢查與請求對應的確切操作。

應用攔截器:攔截器完成工作流、驗證、文件上傳等任務,并自動應用于請求。

動作的執行:動作方法負責執行與數據庫相關的操作,例如檢索數據或將數據存儲到數據庫中。

輸出渲染:生成Result并在視圖中渲染。

返回請求:請求通過攔截器以相反的順序返回。它允許執行清理或附加處理。

向用戶顯示結果:控件返回到 servlet 容器,該容器將輸出發送到用戶瀏覽器。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产成人一区二区三区在线视频 | 久久在线免费观看 | 伊在人亚洲香蕉精品区麻豆 | 好爽毛片一区二区三区四区 | 精品欧美一区二区在线观看 | 在线视频亚洲 | 真人特级毛片免费视频 | 亚洲一区二区高清 | 一区二区三区四区在线视频 | 国产黄mmd在线观看免费 | 一级毛片人与动免费观看 | 天天射影院 | 精品免费视频 | 日本一区二区高清 | 欧美妇性猛交视频 | 在线观看精品一区 | 9999人体做爰大胆视频 | 综合激情婷婷 | 欧美精品在线播放 | 中文字幕免费在线视频 | 日日夜夜操操操 | 97久久精品国产精品青草 | 天天爱天天舔 | 欧美激情一区二区 | 国产99对白在线播放 | 欧美三级毛片 | 精品国产91久久久久久久 | 九九99久久精品在免费线bt | 狠狠色丁香婷婷久久综合考虑 | 天天摸夜夜添久久精品麻豆 | 日本亚洲成高清一区二区三区 | 久久久久久久综合色一本 | 久久免费视频在线 | 国产人成精品综合欧美成人 | 欧美大狠狠大臿蕉香蕉大视频 | 亚洲性免费| 久操免费在线视频 | 香蕉tv亚洲专区在线观看 | 毛片大全网站 | 色狠狠色综合吹潮 | 久久综合久久久久 |