1,提升開發效率web 2,遵照規則數據庫
|
Struts 2 是 Struts 的下一代產品,它是在 Struts 1 和 WebWork 技術的基礎上進行了合併。安全 全新的 Struts 2 與 Struts 1 差異巨大,可是相對於 WebWork,Struts 2 的變化很小。session Struts 2並非一門徹底獨立的技術,而是創建在其餘 Web 技術之上的一個 MVC 框架。Struts 2 以WebWork 爲核心,採用攔截器的機制來處理用戶的請求,這種設計使得業務邏輯控制器可以與 Servlet API 徹底脫離開,因此 Struts 2 能夠理解爲 WebWork 的更新產品。實際上,WebWork 和 Struts 社區已經合二爲一,即如今的 Struts 2 社區。app
|
根據url綁定對應的Servlet,web.xml框架 獲取數據,request.getParameter 類型轉換jsp 封裝數據,request,session,application url 根據業務處理結果,跳轉到對應的視圖spa |
|
|
在 Struts 2 中,線程 V:視圖層對應視圖組件,一般是指 JSP 頁面,也適用於 Velocity、FreeMarker等其餘視圖顯示技術。 M:模型層對應業務邏輯組件,它一般用於實現業務邏輯及與底層數據庫的交互等。 C:系統核心控制器爲 Struts 2 框架提供的 StrutsPrepareAndExecuteFilter,它是一個起過濾做用的類,能根據請求自動調用相應的 Action。而業務邏輯控制器是開發者自定義的一系列Action,在 Action 中負責調用相應的業務邏輯組件,來完成調用處理。 因此,咱們通常把Action歸爲模型層,可是它是屬於模型層的控制器
|
|
每次請求都會建立一個新的Action對象,與Servlet是不一樣的 Servlet的生命週期--單例模式 Action:每次發送一個請求,就會建立一個新的Action |
剛纔就是第一種 第二種是implements Action 第三種是extends ActionSupport |
|
a) 普通屬性的方式 b) 自定義對象屬性的方式
|
在 Struts 2 中,Action 已經與 Servlet API 徹底分離,但咱們在實現業務邏輯時,常常要 訪問 Servlet 中的對象,如 session、application 等。 在 Struts 2 框架中訪問 Servlet API 有以下幾種方法: |
什麼是ActionContext? 方式一:
方式二:
|
還有 ServletContextAware ServletResponseAware
|