整個請求過程可以分為六步驟:
- 一個請求產生并經由框架處理 - 框架根據請求匹配相應的配置,如使用哪些攔截器,action 類和結果。
- 請求通過一系列的攔截器 - 攔截器,和攔截器組經配置后,能處理不同等級的請求,它們為請求提供了各種預處理,切面處理。這和Struts的使用 Jakarta Commons Chain 構件的 RequestProcessor類很相似。
- 調用 Action - 產生一個新的action對象實例,并提供請求所調用的處理邏輯的方法。Struts2 可以在配置action時為請求分配其指定的方法。我們在第二部文章中將對這步驟進行進一步討論;
- 調用產生的結果 - 獲取通過action的方法處理后返回來的結果,匹配其result class并調用產生的實例。有種情況是在UI模板去生成HTML時才去處理這些結果。如果在這種情況下,在Struts2 模板中的tags能直接返回到 action 中,取結果來呈現界面。
- 請求再次經過一系列的攔截器處理后返回 - 請求反順序通過與原來進入時的攔截器鏈, 當然,你也可以配置在這個過程中減少或增加攔截器處理.
- 請求返回到用戶 - 最后一步是由 control 返回到servlet。通常是生成HTML返回到user, 但你也可以指定返回的HTTP頭或HTTP重定向。
最明顯的就是Struts2是pull-MVC 架構,就是可以直接從Action中獲取所需要的數據,而不是像Struts那樣必須把 beans 存到page, request,或者session中才能獲取。
posted on 2007-07-10 10:07
周銳 閱讀(429)
評論(0) 編輯 收藏 所屬分類:
Struts