Struts 2(一):初識Struts

【好久之前的筆記,後續繼續完善】前端

 

在瞭解Struts 2框架以前,首先了解一下Model 1和Model 2架構,以及它們的優缺點。數據庫

1.1 Model 1架構模式

  Model 1的核心是JSP文件,使用Model 1開發的項目包含大量相互獨立的JSP文件和少部分JavaBean。使用Model 1進行開發時,Model 1的程序流程比較容易理解,用戶經過表單提交信息給JSP頁面,JSP頁面接收用戶提交的信息後經過JavaBean鏈接數據庫並操做數據庫,而後將結果返回給用戶,其流程以下圖所示:架構

 

Model 1很是容易理解,也很是容易實現,可是它有許多缺點:框架

  (1)在JSP頁面中充斥着大量的Java腳本代碼,前端顯示代碼與業務邏輯代碼混合,修改某一處很容易帶來其餘錯誤spa

  (2)代碼重用性很是差,JSP頁面中充斥着大量功能相似的代碼設計

  (3)可擴展性差,前期開發的項目若是須要添加新的功能將是很是複雜3d

 

1.2 Model 2架構模式

  Model 2是經過面向對象技術實現MVC模式,MVC中包含三個基本組成部分,分別是Model(模型,通常採用JavaBean來實現)、View(視圖,通常採用JSP來實現)、Controller(控制器,通常採用Servlet來實現)。Model 2的程序流程相對Model 1來講要稍微複雜一些,首先是用戶提交信息給控制器,控制器接收用戶提交的信息並決定使用哪一個模型完成業務邏輯,而後控制器根據業務處理結果決定使用哪一個視圖將最終結果返回給用戶,其流程以下圖所示:對象

 

1.3 Struts 2框架簡介

  在MVC框架出現以前,開發人員都是經過JSP+Servlet+JavaBean的方式來實現MVC模式,可是隨着時間的發展,愈來愈多的問題暴露出來了,其中最重要的就是缺乏一個標準,每一個社區、公司都有本身的一套標準,很難進行統一開發。Struts框架的出現改變這種格局,開發人員能夠經過它爲業務應用的每一層提供支持。blog

  Struts框架是Apache基金會中Jakarta項目組的一個開源項目,它基於MVC模式開發,可以幫助Java開發人員快速的經過MVC模式開發Web項目。Struts框架和其餘Java架構同樣,採用面向對象設計,並將MVC模式運用得淋漓盡致。Struts開源項目的創立者就是但願經過對該項目的研究,改進和提升JSP、Servlet、標籤庫以及面嚮對象的技術水準。同時Struts框架是一個開源項目,開發人員能夠更深刻的瞭解其內容實現機制。開發

  Struts 2是Struts的換代代產品,Struts 2的體系結構與Struts 1的體系結構的差異是巨大的。Struts 2是以WebWork爲核心,採用攔截器的機制來處理用戶的請求,這樣的設計使得業務邏輯控制器可以與Selvet API徹底脫離開,因此Struts 2能夠理解爲是WebWork的更新產品。

  Struts 2的工做原理能夠用下面這張圖來描述:

  Struts 2的工做細節能夠用下面這張圖來描述:

相關文章
相關標籤/搜索