Struts框架詳解

1Struts應用框架介紹

1)框架

框架最簡單的形式是指已開發過並已測試過的軟件的程序塊,這些程序塊可以在多個軟件開發工程中重用。框架提供了一個概括的體系結構模版,可以用這個模板來構建特定領域中的應用程序。

Framework概念並不是很新了,伴隨着軟件開發的發展,在多層的軟件開發項目中,可重用、易擴展的,而且是經過良好測試的軟件組件,越來越爲人們所青睞。這意味着人們可以將充裕的時間用來分析、構建業務邏輯的應用上,而非繁雜的代碼工程。
於是人們將相同類型問題的解決途徑進行抽象,抽取成一個應用框架。這也就是我們所說的FrameworkFramework的體系提供了一套明確機制,從而讓開發人員很容易的擴展和控制整個framework開發上的結構。
2爲什麼會出現應用框架

您只要細心地研究真實的應用程序,就會發現程序大致上由兩類性質不同的組件組成,一類與程序要處理的具體事務密切相關,我們不妨把它們叫做業務組件;另一類是應用服務。
比如說:一個稅務徵管系統和一個圖書管理系統會在處理它們的業務方面存在很大的差異,這些直接處理業務的組件由於業務性質的不同不大可能在不同的系統中重用,而另一些組件如決定程序流向的控制、輸入的校驗、錯誤處理及標籤庫等這些只與程序相關的組件在不同的系統中可以很好地得到重用。
人們自然會想要是把這些在不同應用程序中有共性的一些東西抽取出來,做成一個半成品程序,這樣的半成品就是所謂的程序框架,再做一個新的東西時就不必白手起家,而是可以在這個基礎上開始搭建。實際上,有些大型軟件企業選擇自己搭建這樣的框架。

3)爲什麼要用框架?

因爲軟件系統發展到今天已經很複雜了,特別是服務器端軟件,設計到的知識,內容,問題太多。在某些方面使用別人成熟的框架,就相當於讓別人幫你完成一些基礎工作,你只需要集中精力完成系統的業務邏輯設計。而且框架一般是成熟,穩健的,他可以處理系統很多細節問題,比如,事物處理,安全性,數據流控制等問題。還有框架一般都經過很多人使用,所以結構很好,所以擴展性也很好,而且它是不斷升級的,你可以直接享受別人升級代碼帶來的好處。

框架一般處在低層應用平臺(如J2EE)和高層業務邏輯之間的中間層。

3Struts Web應用框架

Struts Apache 軟件基金會(Apache Software Foundation)資助的一個爲開發基於MVC模式應用架構的開源框架,是利用Java ServletJSPXML等方面的技術來實現構建Web應用的一項非常有用的技術,它也是基於MVC模式的Web應用最經典框架。

Struts框架的主要架構設計和開發者是Craig R.McClanahanStruts 是目前Java Web MVC框架中不爭的王者。經過長達五年的發展,Struts已經逐漸成長爲一個穩定、成熟的框架,並且佔有了MVC框架中最大的市場份額。

StrutsServletJSP、自定義標籤和信息資源(message resources)整合到一個統一的框架中,主要由一系列的框架類、輔助類和定製的JSP標記庫構成。開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間。

 

 

2、框架的組成

一個設計良好的框架一般分爲三層:
1)接口層

這一層要儘量使用interface,在這一層中你要考慮到你現在的、將來的可能支持的功能,但不需要去實現它,只定義到接口層次就可以了。如Struts中的插件接口PlugIn
2)抽象層

這一層要針對你當前的需求做定製,對你的需求中的通用邏輯做實現。這一層應該出現大量的抽象類。如Struts中的ActionServletActionActionForm等類。
3)實現層

不用說了,把前面兩層沒有做掉的事情在這一層都做了吧。如Struts中後臺實現的各種功能

3、爲什麼要提出Struts

1)背景

由於我們開發Web應用的複雜度隨着系統的複雜度的要求越來越來複雜。特別是在代碼重用,代碼移植、代馬可插扒等問題上出現了許多重複開發、維護困難等。從而提出了Struts開發框架。它的設計目的是從整體上減輕構造企業Web應用的負擔,並提供國際化和數據庫連接池支持。

Struts 是一組相互協作的類、servlet JSP 標記,它們組成一個可重用的 MVC 2 設計。這個定義表示 Struts 是一個框架,而不是一個庫,但 Struts 也包含了豐富的標記庫和獨立於該框架工作的實用程序類。

 

2)採用Struts的優點

在實際開發中,MVC框架開發相當費時,Struts 實現了MVC這種框架,但又擴充了該MVC框架。這樣使得系統的開發就像“填空”一樣進行,相當快速。

l  採用Strust可以加快開發速度、增強系統的靈活性、降低系統的藕合性(
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章