Struts2和SpringMVC處理過程

2021-09-02 15:47:39 字數 1217 閱讀 3586

struts2和springmvc處理過程甚為經典,經常被提及。現整理一下。

struts2的工作機制

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

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

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

5、actionproxy通過configuration manager詢問框架的配置檔案,找到需要呼叫的action類;

6、actionproxy建立乙個actioninvocation的例項。

7、actioninvocation例項使用命名模式來呼叫,在呼叫action的過程前後,涉及到相關***(intercepter)的呼叫。

spring工作流程描述

1. 使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲;

3. dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。(附註:如果成功獲得handleradapter後,此時將開始執行***的prehandler(...)方法)

4. 提取request中的模型資料,填充handler入參,開始執行handler(controller)。 在填充handler的入參過程中,根據你的配置,spring將幫你做一些額外的工作:

httpmessageconveter: 將請求訊息(如json、xml等資料)轉換成乙個物件,將物件轉換為指定的響應資訊

資料轉換:對請求訊息進行資料轉換。如string轉換成integer、double等

資料格式化:對請求訊息進行資料格式化。 如將字串轉換成格式化數字或格式化日期等

資料驗證: 驗證資料的有效性(長度、格式等),驗證結果儲存到bindingresult或error中

5. handler執行完成後,向dispatcherservlet 返回乙個modelandview物件;

6. 根據返回的modelandview,選擇乙個適合的viewresolver(必須是已經註冊到spring容器中的viewresolver)返回給dispatcherservlet ;

7. viewresolver 結合model和view,來渲染檢視

8. 將渲染結果返回給客戶端。

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...

Struts和struts2的不同

struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...

Struts2入門(一)Struts2簡介

本章簡要介紹一下struts2框架 1.概念 我們知道,springmvc框架是為了整合servlet設計的控制層框架,那麼還有其他的框架也實現了這個功能,那麼就是struts2。struts2是乙個基於mvc設計模式的web應用框架,它本質上相當於乙個servlet,在mvc設計模式中,strut...