struts首先是mvc框架mvc是一種設計模式
將應用程式分成了檢視、模型、控制器三部分,使**邏輯清晰,同時提高移植性
m與v之間--觀察者模式
v與c之間--策略模式
mvc的工作流程
請求----控制器呼叫模型處理,返回資料-----控制器用相應的檢視格式化模型返回的資料完成相應
struts2在以上流程中解決了三個問題:
1. 控制器如何根據使用者的請求決定呼叫哪個模型(具體是模型中的action元件)進行處理
2. 如何在業務邏輯處理器與serv let api 分離的情況下使處理器獲得請求引數,並得以執行
3. 如何將處理後返回的資料傳給相應的檢視生成動態網頁響應給使用者
結合struts的請求流程加以說明
客戶端請求----經三個過濾器(actioncontextcleanup,其他過濾器,到filterdispatcher核心控制器)
actionproxy通過configuration manager 詢問框架的配置檔案,找到需要呼叫的action類
actionproxy建立乙個actioninvocation例項,同時actioninvocation通過**模式呼叫action,但在呼叫之前actioninvocation會根據配置載入action相關的***,每執行完乙個
***,會呼叫invocation的invoke方法,把請求傳給下個interceptor,所有的interceptor執行完以後,會執行action
action執行根據後,actioninvocation負責根據struts.xml中的配置找到對應的返回結果
這個返回結果可能是乙個 需要表示為jsp或freemarker的模板,或者是另乙個action鏈
如果是前者,表示的過程中可以使用struts2的標籤,生成動態網頁後返回給使用者
如果是後者,則再把上述過程執行一遍
struts同時實現了struts1的actionform的功能:初始化資料,封裝資料,驗證資料格式
struts2.0的解決方式是:通過action實現preparable介面,實現對資料的初始化;
繼承actionsupport類,重寫validate(),顯示資料的驗證,在aciton配置響應的屬性,和對應的getter和setter方法,實現資料封裝,struts2.0通過ognl實現效果比acitonfrom更靈活
struts2 0的 的使用
ognl支援類似資料庫中的投影 projection 和選擇 selection 投影就是選出集合中每個元素的相同屬性組成新的集合,類似於關聯式資料庫的字段操作。投影操作語法為 collection.其中 是這個集合中每個元素的公共屬性。例如 group.userlist.將獲得某個group中的所...
Struts2 0學習筆記 二 驗證
struts2中驗證也是兩種validate方法和框架,validate方法沒什麼太多好說的,和struts1中基本是一樣的,不同是的在驗證乙個表單多個提交按鈕的時候,每個按鈕是對應了自己的乙個方法的,假設其中乙個方法為add 則在action中書寫的針對該按鈕的驗證方法為validateadd 他...
Struts 2 0 解讀筆記
凱文 公尺特尼克今年2月初採用安裝了winxp版本的筆記本準備黑掉某網域名稱為cn的中國 誰知剛登陸該站點時就被安裝了50個難以解除安裝的外掛程式,導致計算機網路癱瘓,導致攻擊失敗。沒辦法只能格式化硬碟,重灌系統!經過了這次教訓之後,凱文 公尺特尼克事先安裝了多種防火牆及防毒軟體,一切準備就緒之後,...