版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,Jakarta-Struts開(kāi)源項(xiàng)目的研究與Web應(yīng)用,指導(dǎo)教師:李 祥 教授答 辯 人:鐘 進(jìn),貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,2,選題背景及意義,目前,Sun公司的Java 2 Enterprise Edition(J2EE)平臺(tái)已經(jīng)日趨成熟,并得到廣泛應(yīng)用。隨著J2EE技術(shù)的成熟,越來(lái)越多的開(kāi)發(fā)人員開(kāi)始使用Web應(yīng)用框架來(lái)進(jìn)行開(kāi)發(fā)??蚣転閃eb應(yīng)用程序提供了預(yù)備的軟件架構(gòu)和相關(guān)的軟件包,它極大地提高了開(kāi)發(fā)人員開(kāi)發(fā)的速
2、度和效率。Jakarta-Struts是 Apache軟件組織提供的一項(xiàng)開(kāi)放源代碼項(xiàng)目,從2000年5月開(kāi)始項(xiàng)目啟動(dòng)以來(lái),經(jīng)過(guò)長(zhǎng)達(dá)五年的發(fā)展,Struts已經(jīng)逐漸成長(zhǎng)為一個(gè)穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場(chǎng)份額。Struts是目前Java Web MVC框架中不爭(zhēng)的王者。隨著Struts在業(yè)界的大量使用,也促使J2EE技術(shù)進(jìn)行改變,在新的J2EE技術(shù)中的Web層的新框架JSF(JavaServerFaces),就是對(duì)
3、Struts的思路進(jìn)行改進(jìn)的產(chǎn)物。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,3,系統(tǒng)是一套以互聯(lián)網(wǎng)為基礎(chǔ),結(jié)合WEB技術(shù)、JAVA技術(shù)、工作流技術(shù)、數(shù)據(jù)庫(kù)技術(shù),將傳統(tǒng)物流的倉(cāng)儲(chǔ)業(yè)務(wù)和與金融的質(zhì)押貸款業(yè)務(wù)有機(jī)結(jié)合在一起的綜合管理信息系統(tǒng)。 系統(tǒng)的主要功能包括:金融協(xié)議管理、貨物評(píng)估管理、貨物庫(kù)存管理、銀行貸款管理、業(yè)務(wù)風(fēng)險(xiǎn)監(jiān)控、綜合查詢(xún)分析和報(bào)表等。 系統(tǒng)采用了B/S結(jié)構(gòu),系統(tǒng)的所有用戶(hù)可以通過(guò)Internet遠(yuǎn)程使用本系統(tǒng),不受時(shí)間和地點(diǎn)的
4、限制,進(jìn)行遠(yuǎn)程的業(yè)務(wù)操作和業(yè)務(wù)監(jiān)控。 系統(tǒng)基于Struts框架進(jìn)行開(kāi)發(fā),并根據(jù)實(shí)際需求使用和擴(kuò)展Struts框架技術(shù),基于模型-視圖-控制器(Model-View-Controller,MVC)設(shè)計(jì)模式,將各個(gè)模塊和對(duì)象,封裝在各個(gè)類(lèi)中,使系統(tǒng)具有開(kāi)放、安全、健壯、跨平臺(tái)等優(yōu)勢(shì)。,本文所做的主要工作與創(chuàng)新之處,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,4,在系統(tǒng)中使用香港志鴻科技公司研發(fā)的Comlib軟件包來(lái)進(jìn)行系統(tǒng)的持久化操作及借助Comli
5、b提供的緩存機(jī)制來(lái)提高數(shù)據(jù)的存取性能,從而提高了系統(tǒng)的整體性能; 系統(tǒng)實(shí)現(xiàn)了對(duì)國(guó)際化的支持。,本文所做的主要工作與創(chuàng)新之處,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,5,Struts的基本原理 Struts的模型組件 Struts的視圖組件 Struts的控制器組件 論文工作的實(shí)際應(yīng)用,內(nèi)容提要,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,6,Struts的基本原理,MVC即Model-View-Controller的縮寫(xiě),是一種常用的設(shè)
6、計(jì)模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。MVC的工作原理,如下圖所示:,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,7,Struts的基本原理,Struts 是MVC的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實(shí)現(xiàn)的一部分。Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts的體系結(jié)構(gòu)與工作原理如圖所示,,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,
7、8,Struts的模型組件,模型是應(yīng)用程序中最重要的一部分,它包含了業(yè)務(wù)實(shí)體和業(yè)務(wù)規(guī)則,負(fù)責(zé)訪問(wèn)和更新持久化數(shù)據(jù)。應(yīng)該把所有的模型組件放在系統(tǒng)中的同一個(gè)位置,這有利于維護(hù)數(shù)據(jù)的完整性,減少數(shù)據(jù)冗余,提高可重用性。模型應(yīng)該和視圖以及控制器之間保持獨(dú)立。在分層的框架結(jié)構(gòu)中,位于上層的視圖和控制器依賴(lài)于下層模型的實(shí)現(xiàn),而下層模型不應(yīng)該依賴(lài)于上層的視圖和控制器的實(shí)現(xiàn)。Struts應(yīng)用的層次之間的依賴(lài)關(guān)系應(yīng)是: ?
8、逐漸加強(qiáng)視圖層?控制層 ?模型層?持久化層 ?逐漸減弱如果在模型組件中通過(guò)Java的import語(yǔ)句引入了視圖或控制器組件,就違反了以上原則。下層組件訪問(wèn)上層組件會(huì)使WEB應(yīng)用的維護(hù)、重用和擴(kuò)展變得困難。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,9,Struts的模型組件,大多數(shù)WEB應(yīng)用程序的需求文檔都是從視圖的角度出發(fā)來(lái)制定的,然而每個(gè)對(duì)客戶(hù)提交的請(qǐng)求的處理過(guò)程同時(shí)也是從模型層的角度定義的!一般而言,模型組件的開(kāi)發(fā)者
9、將著重于創(chuàng)建支持所有功能性請(qǐng)求的JavaBean。在應(yīng)用程序中的Bean一般可分為以下幾類(lèi):,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,10,ActionForm Bean :用來(lái)在模型層和視圖層中傳輸數(shù)據(jù);系統(tǒng)狀態(tài)Bean :用來(lái)表示系統(tǒng)的實(shí)際狀態(tài)的JavaBean ;業(yè)務(wù)邏輯Bean :為執(zhí)行業(yè)務(wù)邏輯而設(shè)計(jì)的Bean 。,Struts的模型組件,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,11,Struts的視圖組件,視圖是模型的外在表現(xiàn)形式,用戶(hù)通
10、過(guò)視圖來(lái)了解模型的狀態(tài)。同一個(gè)模型可以有多種視圖,用戶(hù)可以根據(jù)自己的需要來(lái)訪問(wèn)不同的視圖。Struts除了提供與輸入表單的交互外還提供對(duì)應(yīng)用程序的國(guó)際化支持。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,12,Struts的視圖組件,Struts的視圖組件可以分為以下幾個(gè)主要組件1. JSP頁(yè)面:JSP是Struts視圖層的核心部分,JSP中包含有用戶(hù)與之進(jìn)行交互的用戶(hù)界面代碼。Struts應(yīng)用程序中的JSP與任何其它基于Java的Web應(yīng)用程
11、序中的JSP類(lèi)似。但是,要遵循MVC體系結(jié)構(gòu),JSP就不應(yīng)包含任何實(shí)現(xiàn)業(yè)務(wù)邏輯或直接訪問(wèn)數(shù)據(jù)源的代碼。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,13,Struts的視圖組件,2. JSP標(biāo)簽庫(kù):Struts封裝了一套自定義的JSP 標(biāo)簽庫(kù),該標(biāo)簽庫(kù)可以幫助開(kāi)發(fā)JSP。標(biāo)簽庫(kù)是構(gòu)建Struts應(yīng)用程序的基本模塊,因?yàn)樗鼈兲峁┝艘环N用來(lái)創(chuàng)建其數(shù)據(jù)將在Form Bean中被捕獲的HTML表單和顯示被存放在Form Bean中的數(shù)據(jù)的機(jī)制。此外Str
12、uts的標(biāo)簽庫(kù)還提供了多種實(shí)用的程序標(biāo)簽,用以完成諸如條件邏輯、遍歷集合等操作。 Struts的標(biāo)簽庫(kù)分為以下幾種:HTML;用于生成與Struts API交互的HTML表單Bean:用于在JSP中處理Java Bean對(duì)象。Logic:用于在JSP中實(shí)現(xiàn)簡(jiǎn)單的條件邏輯。Nestd:用于嵌套任何多層的無(wú)法獨(dú)立工作的HTML、Bean、和Logic標(biāo)簽。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,14,Struts的視圖組件,3.資源束:
13、資源束通過(guò)將應(yīng)用程序內(nèi)容以束的形式放置,應(yīng)用程序在運(yùn)行時(shí)可以讀取這些內(nèi)容,從而輕松地實(shí)現(xiàn)java應(yīng)用程序的國(guó)際化。Struts具有處理Java資源束的內(nèi)置支持機(jī)制。該機(jī)制允許Struts框架完全支持應(yīng)用程序的國(guó)際化和具有對(duì)內(nèi)容進(jìn)行擴(kuò)展的機(jī)制,這使得可以輕松地更改內(nèi)容,而無(wú)需修改JSP和應(yīng)用程序代碼。Struts在整個(gè)框架內(nèi)使用資源束資源。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,15,Struts提供了強(qiáng)大的控制器層組件,并將該層設(shè)計(jì)為可完全擴(kuò)
14、展??刂破鲗拥暮诵氖茿ctionServlet,它負(fù)責(zé)通過(guò)Struts配置文件初始化應(yīng)用程序的配置,并負(fù)責(zé)接收發(fā)至應(yīng)用程序的所有傳入的請(qǐng)求。每當(dāng)接收至一個(gè)請(qǐng)求,ActionServlet會(huì)將它委托給RequestProcessor類(lèi)進(jìn)行處理。RequestProcessor將處理請(qǐng)求的各個(gè)方面,包括選擇與請(qǐng)求相關(guān)聯(lián)的Form Bean、用數(shù)據(jù)填充Form Bean、驗(yàn)證Form Bean的有效性以及選擇正確的Action類(lèi)來(lái)執(zhí)行該請(qǐng)求。
15、,Struts的控制器組件,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,16,Struts的控制器組件,控制器層的生命周期如下圖所示:,瀏覽器,,ActionServlet,RequestProcessor,操作,模型,視圖,,,,,,,,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,17,Struts的控制器組件,控制器層的主要組件:1.ActionServlet類(lèi):主要的控制器類(lèi),用于接收應(yīng)用程序所有傳入的HTTP請(qǐng)求和負(fù)責(zé)初始化應(yīng)用程序的Struts框
16、架。2.RequestProcessor類(lèi):用于處理ActionServlet接收到的所有請(qǐng)求。3.Action類(lèi):它是Struts框架的終點(diǎn)和應(yīng)用程序程序代碼的起點(diǎn)。Action類(lèi)將視圖層與模型層聯(lián)系在一起,并負(fù)責(zé)處理特定的請(qǐng)求。Action類(lèi)旨在將視圖層的數(shù)據(jù)傳輸至模型層中的特定事務(wù)處理,然后將事務(wù)處理后的數(shù)據(jù)返回視圖層。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,18,“倉(cāng)單質(zhì)押管理信息系統(tǒng)”是一套以互聯(lián)網(wǎng)為基礎(chǔ),結(jié)合WEB技術(shù)、J
17、AVA技術(shù)、工作流技術(shù)、數(shù)據(jù)庫(kù)技術(shù),將傳統(tǒng)物流的倉(cāng)儲(chǔ)業(yè)務(wù)和與金融的質(zhì)押貸款業(yè)務(wù)有機(jī)結(jié)合在一起的綜合管理信息系統(tǒng)。系統(tǒng)的主要功能包括:金融協(xié)議管理、貨物評(píng)估管理、貨物庫(kù)存管理、銀行貸款管理、業(yè)務(wù)風(fēng)險(xiǎn)監(jiān)控、綜合查詢(xún)分析和報(bào)表等;,論文工作的實(shí)際應(yīng)用,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,19,論文工作的實(shí)際應(yīng)用,系統(tǒng)技術(shù)特點(diǎn):采用WEB技術(shù),系統(tǒng)的所有用戶(hù)可以通過(guò)Internet遠(yuǎn)程使用本系統(tǒng),不受時(shí)間和地點(diǎn)的限制,進(jìn)行遠(yuǎn)程的業(yè)務(wù)操作和業(yè)務(wù)監(jiān)
18、控。應(yīng)用三層架構(gòu),采用的跨平臺(tái)的JAVA技術(shù),保證了系統(tǒng)的先進(jìn)性、擴(kuò)展性和穩(wěn)定性。采用大型數(shù)據(jù)庫(kù)技術(shù),保證了數(shù)據(jù)的完整、高效和安全。通用接口設(shè)計(jì),保證了系統(tǒng)的可擴(kuò)展性以及與其它信息系統(tǒng)的對(duì)接??刹僮餍詮?qiáng),采用工作臺(tái)、關(guān)聯(lián)設(shè)計(jì),智能導(dǎo)向、可視化圖表。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,20,論文工作的實(shí)際應(yīng)用,對(duì)Struts技術(shù)的應(yīng)用與擴(kuò)展:模型層:系統(tǒng)采用Microsoft的SQL Server2000數(shù)據(jù)庫(kù),在系統(tǒng)中使用香港志
19、鴻科技公司研發(fā)的Comlib軟件包來(lái)進(jìn)行系統(tǒng)的持久化操作,使用通過(guò)數(shù)據(jù)訪問(wèn)對(duì)象(DAO)將Comlib訪問(wèn)數(shù)據(jù)庫(kù)的語(yǔ)句封裝起來(lái),然后在其它層中統(tǒng)一調(diào)用,不僅提高了程序的運(yùn)行效率,而且還解決了一般常出現(xiàn)的因DAO對(duì)象和SQL語(yǔ)句緊密耦合在一起而在大型項(xiàng)目中難以維護(hù)的缺點(diǎn)。另外在系統(tǒng)中還借助Comlib提供的緩存機(jī)制來(lái)提高數(shù)據(jù)的存取性能,從而提高了系統(tǒng)的整體性能。視圖層:使用JSP和Struts中定制的標(biāo)簽來(lái)顯示和獲取相應(yīng)ActionFo
20、rm中的數(shù)據(jù),不包含任何實(shí)現(xiàn)業(yè)務(wù)邏輯或直接訪問(wèn)數(shù)據(jù)源的代碼,這樣不僅遵循MVC體系結(jié)構(gòu)的要求,而且還使JSP頁(yè)面便于管理和維護(hù)。另外在系統(tǒng)中基于Java的資源束功能,用于對(duì)應(yīng)用程序字符串、消息和標(biāo)簽進(jìn)行具體化和國(guó)際化處理 。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,21,論文工作的實(shí)際應(yīng)用,控制器層:在系統(tǒng)中通過(guò)擴(kuò)展RequestProcessor類(lèi)的功能對(duì)用戶(hù)的訪問(wèn)權(quán)限進(jìn)行控制。本系統(tǒng)在以XML格式為主的外部配置文件中以聲明的方式指定系統(tǒng)的
21、許多配置,而不是將它們硬編碼到系統(tǒng)中,因此可以對(duì)系統(tǒng)進(jìn)行各種更改而無(wú)需重新編譯任何代碼,極大地簡(jiǎn)化了開(kāi)發(fā)過(guò)程。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,22,論文工作的實(shí)際應(yīng)用,系統(tǒng)已在中國(guó)對(duì)外貿(mào)易運(yùn)輸(集團(tuán))總公司上線運(yùn)營(yíng),產(chǎn)生了一定的經(jīng)濟(jì)和社會(huì)效益。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,23,發(fā)表論文及參加學(xué)術(shù)會(huì)議,在讀研究生期間,已在國(guó)家中文期刊《計(jì)算機(jī)應(yīng)用研究》(增刊)發(fā)表一篇科研論文。參加學(xué)術(shù)會(huì)議Struts框架技術(shù)研究 ,深圳蛇口科
22、技大廈 , 2005年3月,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,24,論文工作總結(jié),本文重點(diǎn)討論了Struts框架的基本原理、模型組件、視圖組件、控制器組件等幾個(gè)方面的技術(shù),并結(jié)合自己對(duì)Struts框架技術(shù)的理解與展開(kāi),對(duì)Struts框架技術(shù)進(jìn)行了闡述,給出了各層技術(shù)的研究與應(yīng)用,特別是對(duì)Struts框架的核心技術(shù)和實(shí)現(xiàn)思想進(jìn)行了詳細(xì)深入地研究。全文在討論Struts框架技術(shù)在開(kāi)發(fā)Web應(yīng)用程序中的應(yīng)用的基礎(chǔ)上,詳細(xì)介紹了采用Struts框
23、架技術(shù)來(lái)開(kāi)發(fā)的倉(cāng)單質(zhì)押管理信息系統(tǒng)項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)。,貴州大學(xué)計(jì)算機(jī)軟件與理論研究所,25,致謝,衷心感謝我的導(dǎo)師李祥教授!從論文的選題、可行性研究、文獻(xiàn)的收集到研究工作的開(kāi)展,特別是論文的撰寫(xiě),導(dǎo)師都給予了無(wú)微不至的關(guān)懷,提出了許多寶貴的建設(shè)性意見(jiàn)。感謝答辯委員會(huì)主席,感謝各位評(píng)委,感謝在座的各位來(lái)賓!最后,我還要感謝我的家人及朋友對(duì)我的學(xué)習(xí)工作的全力支持。 謝 謝!
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Jakarta-Struts開(kāi)源項(xiàng)目的研究與Web應(yīng)用.pdf
- 利用開(kāi)源框架struts+hibernate實(shí)現(xiàn)web應(yīng)用程序
- 開(kāi)源xAVS項(xiàng)目的研究與優(yōu)化.pdf
- 基于開(kāi)源技術(shù)的Web應(yīng)用框架研究與實(shí)現(xiàn).pdf
- 基于Struts的Web數(shù)據(jù)庫(kù)研究與應(yīng)用.pdf
- 基于Struts框架的Web應(yīng)用的研究與實(shí)現(xiàn).pdf
- 基于開(kāi)源框架開(kāi)發(fā)Web應(yīng)用的研究與實(shí)現(xiàn).pdf
- Struts框架下Web應(yīng)用系統(tǒng)的開(kāi)發(fā)與研究.pdf
- 結(jié)合Struts與Hibernate的Web開(kāi)發(fā)模式之研究與應(yīng)用.pdf
- 基于Java開(kāi)源項(xiàng)目的J2EE應(yīng)用框架實(shí)現(xiàn).pdf
- 基于struts架構(gòu)的web應(yīng)用系統(tǒng)的設(shè)計(jì)與研究.pdf
- 基于開(kāi)源平臺(tái)下的Web GIS原理研究與應(yīng)用.pdf
- 商業(yè)公司利用開(kāi)源項(xiàng)目的成功要素研究.pdf
- 基于Struts和Hibernate的Web應(yīng)用的研究與實(shí)現(xiàn).pdf
- 基于STRUTS框架的WEB信息系統(tǒng)的研究與應(yīng)用.pdf
- 擴(kuò)展STRUTS框架的WEB應(yīng)用實(shí)現(xiàn).pdf
- 采用開(kāi)源軟件實(shí)現(xiàn)Web應(yīng)用架構(gòu)的研究.pdf
- 利用Struts與Hibernate框架構(gòu)建Java Web應(yīng)用的研究與實(shí)現(xiàn).pdf
- 基于Struts+Hibernate+Spring框架的Web應(yīng)用與實(shí)現(xiàn).pdf
- 基于Struts和Hibernate的web應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論