struts2和struts1一樣,
都是應用在web層的框架
,不過,它不是基於struts1公升級而來
,而是乙個基於webwork的全新框架,webwork框架是繼struts1之後推出的開源框架。
struts2和struts1在體系結構上是有很大差別的,struts2中需要使用者實現的元件及元素有:action類、strusts.xml。去掉了struts1中的actionform,換了一種新的傳遞表單資料的方式。通過**看一下區別吧。
下面是乙個簡單的登入。
1. 頁面
2.需要引入的jar以及配置檔案的編寫。
web.xml檔案
struts2
org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter
config
struts-default.xml,struts-plugin.xml,config/struts.xml
/*
struts.xml檔案核心配置檔案
/success.jsp3. action實現類/error.jsp
public class logonaction else
}}
action可以繼承actionsupport,也可以採用不繼承方式。
接收引數:可以建乙個實體類來獲取頁面資料,就像struts1中的form,但是不需要繼承actionform,也可以直接在action中定義username和password屬性來接收表單資料,但是struts2不支援直接在action的方法中直接加形參接收引數,這個在springmvc中是支援的。
下面是struts2官網中關於struts2執行流程的**,非常清晰:
客戶端發出請求,該請求經過一些過濾器,最後到達filterdispacher。filterdispacher根據配置檔案的資訊,判斷該請求是否需要某個action,並找到對應的action,action的方法被執行後,根據返回結果在配置檔案中匹配相應的頁面或者重定向請求,最後將結果返回到客戶端。
1. 客戶端向伺服器發出請求
2. 請求經過一系列的過濾器,最終到達filterdispatcher
4. actionproxy通過configurationmanager讀取配置檔案,根據擷取的url找到對應的action
5. actionproxy建立乙個actioninvocation例項
6. actioninvocation呼叫action的execut方法
7. actioninvocation根據struts.xml配置找到對應的返回結果
struts2執行流程
struts 2框架本身大致可以分為3個部分 核心控制器 filterdispatcher 業務控制器 action和使用者實現的企業業務邏輯元件。核心控制器filterdispatcher是struts 2框架的基礎,包含了框架內部的控制流程和處理機制。業務控制器action和業務邏輯元件是需要使...
Struts2 請求執行流程
你所有的成功,都是來自你的努力,而你的努力,就是讓自己變得值錢起來。我們共勉 乙個請求在struts2框架中的處理步驟 客戶端初始化乙個指向servlet容器的請求 根據web.xml配置,請求首先經過actioncontextcleanup過濾器,其為可選過濾器,這個過濾器對於struts2和其他...
struts2原始碼執行流程
先進入核心過濾器,然後判斷該請求是不是由struts2執行的,是的話 1 建立actioncontext 其中其實先建立乙個valuestack,然後從其中拿出context用來建立actioncontext 2 把request包裝成乙個新的request 包裝了getattribute方法,包裝...