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