Struts Framework是一種基于Java的技術(shù),Web應(yīng)用程序開(kāi)發(fā)人員通過(guò)Struts Framework即可充分利用面向?qū)ο笤O(shè)計(jì)、代碼重用以及"編寫一次、到處運(yùn)行"的優(yōu)點(diǎn)。Struts提供了一種創(chuàng)建Web應(yīng)用程序的框架,其中對(duì)應(yīng)用程序的顯示、表示和數(shù)據(jù)的后端代碼進(jìn)行了抽象。 MVC原理Struts是對(duì)MVC設(shè)計(jì)模式的一種實(shí)現(xiàn)。MVC設(shè)計(jì)模式為構(gòu)建可擴(kuò)展、可重用的代碼打下了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。MVC設(shè)計(jì)模式最吸引人之處在于它迫使你必須抽象自己的代碼,把項(xiàng)目分解為表示、邏輯和控制三部分,它們的作用正如一個(gè)交響樂(lè)團(tuán)中的音樂(lè)、團(tuán)員和指揮。 MVC設(shè)計(jì)模式中的"模型"指的是真正完成任務(wù)的代碼。對(duì)大多Web應(yīng)用程序來(lái)說(shuō),功能比界面感覺(jué)更重要。在模型同界面相分離的情況下,代碼即可實(shí)現(xiàn)可管理性和可重用性。比方說(shuō),假如你開(kāi)發(fā)了一個(gè)保險(xiǎn)應(yīng)用程序,其中的"模型"就是處理要求、計(jì)算保險(xiǎn)費(fèi)和同數(shù)據(jù)庫(kù)交互的那些代碼。模型通常也被稱做"業(yè)務(wù)邏輯"。 在介紹了MVC之后,現(xiàn)在我們就下載Struts Framework、了解Struts采用MVC設(shè)計(jì)技術(shù)的原理。 獲取Struts FrameworkStruts Framework 可以從Jakarta項(xiàng)目的網(wǎng)站上獲取。目前可用的代碼版本還是1.0,但該版本是穩(wěn)定和成熟的版本。同Apache Foundation維護(hù)的其他項(xiàng)目一樣,Struts Framework是一種開(kāi)放源代碼軟件,所以你可以獲得軟件源代碼親自編譯程序或者直接下載二進(jìn)制版本。大多數(shù)用戶并不需要源代碼,但知道它的存在也不是壞事,說(shuō)不定以后就用得著。 MVC和Struts Framework現(xiàn)在我們就看看Struts Framework是如何采用MVC模式來(lái)創(chuàng)建Web應(yīng)用程序的。 Struts采用JSP作為MVC的視圖。每一視圖都是采用了定制標(biāo)簽庫(kù)的JSP頁(yè)面,這些定制標(biāo)簽庫(kù)則由Struts Framework提供。全部表單元素都是用定制標(biāo)簽編碼的,所以這些頁(yè)面能夠很方便地同控制器交互。每一個(gè)表單都通過(guò)映射JSP到servlet的請(qǐng)求這一方式指向控制器的特定入口點(diǎn)。 控制器就是Java servlet,由Struts Framework提供,負(fù)責(zé)視圖和模型之間的交互。控制器的每個(gè)入口點(diǎn)都由名為struts-config.xml的配置文件設(shè)置。該文件把來(lái)自視圖的請(qǐng)求映射為特定的java類以進(jìn)行相應(yīng)的處理??刂破鬟€指定下一個(gè)視圖的位置。 Java beans就是模型的代表。對(duì)進(jìn)入控制器的每個(gè)入口點(diǎn)來(lái)說(shuō),bean的作用是存儲(chǔ)從視圖獲取的信息,同時(shí)被稱為"行動(dòng)類"一種Java類則被指定為對(duì)表單輸入采取行動(dòng)。行動(dòng)類(action class)實(shí)現(xiàn)了業(yè)務(wù)邏輯。 |
|