1.1?Struts Framework 介紹
?
Struts是一種當前非常流行的一個Java Web 框架(Web Framework)。
我們先來看看什么是 Framework 。
Framework 概念并不是很新了,伴隨著軟件開發的發展,在多層的軟件開發項目中,可重用、易擴展的,而且是經過良好測試的軟件組件,越來越為人們所青睞。這意味著人們可以將充裕的時間用來分析、構建業務邏輯的應用上,而非繁雜的代碼工程。于是人們將相同類型問題的解決途徑進行抽象,抽取成一個應用框架。這也就是我們所說的 Framework 。
???? Framework 的體系提供了一套明確機制,從而讓開發人員很容易的擴展和控制整個 Framework 開發上的結構。 通常, Framework 的結構中都有一個“命令和控制”組件( "command and control" component )—— Framework Factory and Manager 。
?
通過基于請求響應( Request-Response )模式的應用 Framework ,基本上有如下幾個表現邏輯結構組成。
控制器 ( Controller )——控制整個 Framework 中各個組件的協調工作。
業務邏輯層 ( Business Logic )——對 Framwork 本身來說,這里僅僅只是概念和幾個提夠服務的基礎組件,真正的實現與客戶的業務邏輯接軌,還需要開發人員在 Framework 上再次擴展。
數據邏輯層 ( Data Logic )——絕大應用系統都需要涉及到數據交互,這一層次主要包括了數據邏輯和數據訪問接口。對于數據邏輯來說,如果你了解數據建模( Data Modeling )可能就很容易理解。 ???
?
Struts 是采用 Java Servlet/JavaServer Pages 技術,開發 Web 應用程序的開放源碼的 framework 。 采用 Struts 能開發出基于 MVC(Model-View-Controller) 設計模式的應用構架。
Struts 有如下的主要功能:
1. 包含一個 controller servlet ,能將用戶的請求發送到相應的 Action 對象。
2. JSP 自由 tag 庫,并且在 controller servlet 中提供關聯支持,幫助開發員創建交互式表單應用。
3. 提供了一系列實用對象: XML 處理、通過 Java reflection APIs 自動處理 JavaBeans 屬性、國際化的提示和消息。
Struts 官方網站: http://jakarta.apache.org/struts
Struts2.X 最新的穩定版本: 2.1.8 下載地址: http://struts.apache.org/download.cgi#struts218
Struts1.0 最新的穩定版本: 1.3.10 下載: http://struts.apache.org/download.cgi#struts1310
1
、模型(
Model
)
模型是應用程序的主體部分。模型表示業務數據,或者業務邏輯
.
2
、視圖(
View
)
視圖是應用程序中用戶界面相關的部分,是用戶看到并與之交互的界面。
3
、控制器(
controller)
控制器工作就是根據用戶的輸入,控制用戶界面數據顯示和更新
model
對象狀態。
?
?
MVC
式的出現不僅實現了功能模塊和顯示模塊的分離,同時它還提高了應用系統的可維護性、可擴展性、可移植性和組件的可復用性
早期的程序中,如果不注意對數功能和顯示的解耦合,常常會導致程序的復雜及難以維護。很多
VB,Delphi
等
RAD
程序都有這種問題。甚至現在的
C#,Java
有時候也會出現把業務邏輯寫在顯示模塊中的現象
管
MVC
設計模式很早就提出,但在
Web
項目的開發中引入
MVC
卻是步履維艱。主要原因:一是在早期的
Web
項目的開發中,程序語言和
HTML
的分離一直難以實現。
CGI
程序以字符串輸出的形式動態地生成
HTML
內容。后來隨著腳本語言的出現,前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在
HTML
內容中。這兩種方式有一個相同的不足之
處即它們總是無法將程序語言和
HTML
分離。二是腳本語言的功能相對較弱,缺乏支持
MVC
設計模式的一些必要的技術基礎。直到基于
J2EE
的
JSP Model 2
問世時才得以改觀。它用
JSP
技術實現視圖的功能,用
Servlet
技術實現控制器的功能,用
JavaBean
技術實現模型的功能
JSP Model 1
與
JSP Model 2
SUN
在
JSP
出現早期制定了兩種規范,稱為
Model1
和
Model2
。雖然
Model2
在一定程度上實現了
MVC
,但是它的應用用并不盡如人意
?
Model 1
?
?
?
?
Model 2
?
model2
容易使系統出現多個
Controller
,并且對頁面
導航
的處理比較復雜
有些人覺得
model2
仍不夠好,于是
Craig R. McClanahan 2000
年
5
月
提交了一個
WEB framework
給
Java Community.
這就是后來的
Struts.
2001
年
7
月,
Struts1.0
,正式發布。該項目也成為了
Apache Jakarta
的
子項
目之一
Struts
質上就是在
Model2
的基礎上實現的一個
MVC
架構。它只有一個中心控制器,他采用
XML
定制轉向的
URL
。采用
Action
來處理邏輯
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
