版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> ##大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 學(xué)院:##學(xué)院 系級教學(xué)單位:電子工程系 </p><p><b> 摘要</b></p><p> 隨著人們生活水平的逐步提高,旅游照相成了大家必不可少放松項(xiàng)目。雖然照片最后會存入到自己的電
2、腦里,但是時間一長、照片一多,這些有著勾起回憶的“資料”,就會顯得雜亂無章,即不方便欣賞,也不方便管理。而電子相冊具有欣賞、傳播方便,界面美觀等特點(diǎn),可以很好的管理所存入的照片,不失為最佳欣賞、保存照片的相冊工具。電子相冊系統(tǒng)平臺也就應(yīng)此應(yīng)運(yùn)而生。</p><p> 本系統(tǒng)是一種基于B/S架構(gòu)的電子相冊管理系統(tǒng),它采用目前最流行的Java語言編寫,用到了當(dāng)今先進(jìn)的技術(shù)如 JSP技術(shù)、Hibernate、Spri
3、ng、Struts框架等來實(shí)現(xiàn)該系統(tǒng)。</p><p> 系統(tǒng)分為五大模塊、相冊列表模塊、新建相冊模塊、修改資料模塊、修改密碼模塊、添加相冊分類模塊。注:前四大模塊是根據(jù)注冊用戶的提供的,注冊用戶登陸后可以進(jìn)行添加相冊,上傳,刪除照片,修改資料等一系列操作,最后一項(xiàng)是管理員登陸所進(jìn)行的操作。而如果是未注冊用戶只能查看相冊中的內(nèi)容,沒有權(quán)力進(jìn)行相應(yīng)的修改。</p><p> 關(guān)鍵詞:JA
4、VA;電子相冊;三框架;MVC </p><p><b> Abstract</b></p><p> As people gradually increase the standard of living, travel photography has become essential to relax the project everyone. While t
5、he photos will eventually be deposited to your computer, but over time, more than one photo, which has brought back memories of the "data", will be very chaotic, that is inconvenient to enjoy, not to facilitate
6、 management. Electronic album with appreciation, the spread of convenience, the interface appearance characteristics such as good management can be deposited i</p><p><b> 目 錄</b></p><
7、p><b> 摘要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p> 1.1 系統(tǒng)開發(fā)的背景和意義1</p><p> 1.2 國內(nèi)外發(fā)展?fàn)顩r2</p><p> 1.3 研究內(nèi)容
8、2</p><p> 第2章 程序技術(shù)相關(guān)知識4</p><p> 2.1 JAVA 簡介4</p><p> 2.2 JAVA EE平臺相關(guān)介紹4</p><p> 2.3 所采用數(shù)據(jù)庫及原因5</p><p> 2.4 MVC設(shè)計(jì)模式的原理6</p><p> 2.4
9、.1 MVC設(shè)計(jì)思想7</p><p> 2.4.2 MVC的優(yōu)點(diǎn)8</p><p> 2.5三框架相關(guān)知識簡介9</p><p> 2.5.1 STRUTS框架9</p><p> 2.5.2 HIBERNATE框架9</p><p> 2.5.3 SPRING框架10</p>&
10、lt;p> 2.6 JSP技術(shù)10</p><p> 2.7 關(guān)于JavaScript 腳本語言的應(yīng)用12</p><p> 2.8 MyEclipse開發(fā)工具的簡要介紹13</p><p> 2.9 WEB服務(wù)器Tomcat6.014</p><p> 2.9.1 Tomcat Server的組成部分14</
11、p><p> 2.9.2 Tomcat Server處理一個http請求的過程16</p><p> 2.10 本章小結(jié)16</p><p> 第3章 電子相冊系統(tǒng)需求分析17</p><p> 3.1可行性分析17</p><p> 3.1.1系統(tǒng)總體目標(biāo)17</p><p>
12、 3.1.2技術(shù)可行性分析17</p><p> 3.1.3功能需求17</p><p> 3.1.4性能需求17</p><p> 3.2系統(tǒng)總體結(jié)構(gòu)17</p><p> 3.2.1 系統(tǒng)總體結(jié)構(gòu)18</p><p> 3.2.2用例圖18</p><p> 3.3
13、系統(tǒng)功能模塊結(jié)構(gòu)19</p><p> 3.3.1相冊列表模塊19</p><p> 3.3.2新建相冊模塊20</p><p> 3.3.3修改資料模塊21</p><p> 3.3.4修改密碼模塊21</p><p> 3.3.5添加相冊模塊22</p><p> 3
14、.4 數(shù)據(jù)庫設(shè)計(jì)22</p><p> 3.5 本章小結(jié)24</p><p> 第4章 系統(tǒng)實(shí)現(xiàn)25</p><p> 4.1管理員登陸設(shè)計(jì)25</p><p> 4.1.1管理員登陸主頁面的創(chuàng)建25</p><p> 4.1.2 實(shí)現(xiàn)過程25</p><p> 4.2
15、注冊用戶登陸設(shè)計(jì)26</p><p> 4.2.1 注冊用戶登陸界面的創(chuàng)建27</p><p> 4.2.2 注冊用戶登陸界面27</p><p> 4.2.3 實(shí)現(xiàn)過程28</p><p> 4.3 未注冊用戶注冊設(shè)計(jì)28</p><p> 4.4 添加相冊分類的實(shí)現(xiàn)29</p>
16、<p> 4.5 管理員添加相冊界面29</p><p> 4.5.1 實(shí)現(xiàn)過程30</p><p> 4.6 數(shù)據(jù)庫設(shè)計(jì)32</p><p> 4.6.1使用SHOW語句找數(shù)據(jù)庫32</p><p> 4.6.2 創(chuàng)建一個數(shù)據(jù)庫abccs33</p><p> 4.6.3 選擇你所創(chuàng)建
17、的數(shù)據(jù)庫33</p><p> 4.6.4 創(chuàng)建一個數(shù)據(jù)庫表33</p><p> 4.6.5 往表中加入記錄34</p><p> 4.6.6裝入數(shù)據(jù)庫表34</p><p> 4.7系統(tǒng)測試34</p><p> 4.7.1 測試目標(biāo)34</p><p> 4.7.2
18、 各模塊測試35</p><p> 4.8 本章小結(jié)36</p><p><b> 結(jié)論37</b></p><p><b> 參考文獻(xiàn)39</b></p><p><b> 致謝40</b></p><p> 附錄1 開題報告41
19、</p><p> 附錄2 文獻(xiàn)綜述45</p><p><b> 第1章 緒論</b></p><p> 隨著數(shù)碼攝影時代的到來,不論是專業(yè)攝影師建立圖片檔案或是向他人展示自己的攝影作品,還是家庭生活攝影,都需要電子相冊來保管攝影作品。如同傳統(tǒng)的照相簿,電子相冊既有展示功能也有存儲和管理功能。</p><p>
20、 電子相冊是現(xiàn)在時下最流行的一種網(wǎng)絡(luò)元素,它可以應(yīng)該在很多的領(lǐng)域,例如時下最流行的空間及博客就是大量的應(yīng)該這一技術(shù),而且受到大多數(shù)網(wǎng)友的認(rèn)可及追捧,其以靜態(tài)照片為素材(獲得源方式為掃描儀掃描、數(shù)碼相機(jī)所拍等),配合動感的背景、前景和字幕等視頻處理的特殊效果,配上音樂就可制作成電子相冊。制作好的電子相冊可以在電腦上,各類影碟機(jī)上,以及手機(jī)和MP4里都能觀看,這是電子相冊技術(shù)發(fā)展到今天的一個新的突破,即不再像傳統(tǒng)那樣,只能在電腦上或在影碟
21、機(jī)上觀看了,并且還可以通過手機(jī)將自己的個性化MTV發(fā)送給遠(yuǎn)方的親朋好友們分享。當(dāng)然,如果考慮到長期保存的話,制作成電子相冊光盤那是最好的選擇啦,金碟可保存100多年之久,標(biāo)準(zhǔn)VCD、SVCD、DVD格式,兼容性好,通過影牒機(jī)即可與家人、朋友、客戶觀賞。若保存在硬盤上,也便于隨時調(diào)閱、欣賞,永久保存。</p><p> 1.1 系統(tǒng)開發(fā)的背景和意義</p><p> 隨著人們生活水平的逐
22、步提高,旅游成了大家必不可少放松項(xiàng)目,每當(dāng)筆者走到一個美麗的景點(diǎn),就會忍不住拿起數(shù)碼相機(jī)照上幾張留做回憶。雖然照片最后會存入到自己的電腦里,但是時間一長、照片一多,這些有著勾起回憶的資料,就會顯得雜亂無章,即不方便欣賞,也不方便管理。而電子相冊具有欣賞、傳播方便,界面美觀等特點(diǎn),可以很好的管理所存入的照片,不失為最佳欣賞、保存照片的相冊工具。</p><p> 另外隨著數(shù)碼相機(jī)、手機(jī)照相等功能的普及,想必每個人
23、手上都儲存了大量的電子相片,但這此照片如果不進(jìn)行處理,僅僅以一張張圖片的形式放置在電腦上,不僅 不易觀賞,也不方便分類管理,是否有軟件能將這些照片整理成一本本的相冊呢?電子相冊系統(tǒng)平臺就是一款集相冊制作、生成、瀏覽專業(yè)軟件,有了它的幫助,制用相冊再也不需要專業(yè)的技術(shù),普通用戶也可以在五分鐘內(nèi)制作出精美的電子相冊,支持170余種照片顯示特技,可以為相片加入文件注釋及說明。</p><p> 1.2 國內(nèi)外發(fā)展?fàn)顩r
24、</p><p> 電子相冊是現(xiàn)在時下最流行的一種網(wǎng)絡(luò)元素,它可以應(yīng)該在很多的領(lǐng)域,例如時下最流行的空間及博客就是大量的應(yīng)該這一技術(shù),而且受到大多數(shù)網(wǎng)友的認(rèn)可及追捧,其以靜態(tài)照片為素材(獲得源方式為掃描儀掃描、數(shù)碼相機(jī)所拍等),配合動感的背景、前景和字幕等視頻處理的特殊效果,配上音樂就可制作成電子相冊。制作好的電子相冊可以在電腦上,各類影碟機(jī)上,以及手機(jī)和MP4里都能觀看,這是電子相冊技術(shù)發(fā)展到今天的一個新的突
25、破,即不再象傳統(tǒng)那樣,只能在電腦上或在影碟機(jī)上觀看了。并且還可以通過手機(jī)將自己的個性化MTV發(fā)送給遠(yuǎn)方的親朋好友們分享。當(dāng)然,如果考慮到長期保存的話,制作成電子相冊光盤那是最好的選擇啦,金碟可保存100多年之久,標(biāo)準(zhǔn)VCD、SVCD、DVD格式,兼容性好,通過影牒機(jī)即可與家人、朋友、客戶觀賞;若保存在硬盤上,也便于隨時調(diào)閱、欣賞,永久保存。</p><p><b> 1.3 研究內(nèi)容</b>
26、;</p><p> 電子相冊系統(tǒng)是一種基于B/S架構(gòu)的管理系統(tǒng),它采用目前最流行的java語言編寫,用到了當(dāng)今先進(jìn)的技術(shù)如 jsp技術(shù)、Hibernate、Spring、Struts框架等來實(shí)現(xiàn)該系統(tǒng)。采用MVC框架技術(shù)提高了系統(tǒng)的可維護(hù)性。</p><p> 本系統(tǒng)所研究的是從電子相冊的管理到相冊的生成等一系列的問題,大致分為:前臺包括相冊列表、新建相冊、修改資料、修改密碼、技術(shù)支
27、持,后臺包括相冊管理, </p><p> 本文共分5章,第1章是緒論,第2章介紹開發(fā)本系統(tǒng)所用到的相關(guān)技術(shù),第3章是系統(tǒng)的需求分析及結(jié)構(gòu)圖,第4章是相冊系統(tǒng)的系統(tǒng)實(shí)現(xiàn),第5章是總結(jié)。各章節(jié)的研究內(nèi)容如下:</p><p> (1) 第1章主要介紹了選題的背景和意義,論述了系統(tǒng)的國內(nèi)發(fā)展?fàn)顩r。</p><p> (2) 第2章主要介紹了實(shí)現(xiàn)電子相冊系統(tǒng)所用的軟
28、件和系統(tǒng)建設(shè)過程中使用的相關(guān)技術(shù)。</p><p> (3) 第3章主要是電子相冊系統(tǒng)的需求分析。</p><p> (4) 第4章是系統(tǒng)的編碼實(shí)現(xiàn),從三框架的實(shí)現(xiàn),數(shù)據(jù)庫的創(chuàng)建等方面介紹了系統(tǒng)的實(shí)現(xiàn)。</p><p> (5) 第5章主要是此系統(tǒng)的的總結(jié)。</p><p> 第2章 程序技術(shù)相關(guān)知識</p><p
29、> 2.1 JAVA 簡介</p><p> Java是Sun公司開發(fā)的編程語言,使用它可以在各式各樣不同的機(jī)器、不同操作平臺的網(wǎng)絡(luò)開發(fā)環(huán)境中開發(fā)軟件。不論用戶使用的是哪一種WWW瀏覽器、哪一種計(jì)算機(jī)、哪一種操作系統(tǒng),只要WWW瀏覽器上面注明了“支持Java”,就可以看到生動的頁面。Java正在逐步成為Internet應(yīng)用的主要開發(fā)語言。它徹底改變了應(yīng)用軟件的開發(fā)模式,帶來了自個人計(jì)算機(jī)以來又一次技術(shù)革
30、命,為迅速發(fā)展的信息世界增添了新的活力。</p><p> Java是一種語法簡介、清晰的語言,它的程序運(yùn)行需要一個解釋器,也就是所謂的“虛擬機(jī)” 。虛擬機(jī)以某種高速算法執(zhí)行Java的面相對象語言代碼。從Java2.0開始,Java分為3個版本J2ME(微機(jī)版本)、J2SE(標(biāo)準(zhǔn)版本)和J2EE(企業(yè)級版本),分別用于支持消費(fèi)類電子設(shè)備、標(biāo)準(zhǔn)PC以及企業(yè)級應(yīng)用的開發(fā),版本之間的區(qū)別不僅在于所支持的類庫的大小不同
31、,也在于個版本都對應(yīng)著不同的Java虛擬機(jī)。</p><p> Java的主要特性是可移植性,安全性,網(wǎng)絡(luò)移動性,其中網(wǎng)絡(luò)移動性是Java的最主要的一個特性。而如果沒有安全性,可移植性的支持,就無法實(shí)現(xiàn)網(wǎng)絡(luò)移動性。Java的網(wǎng)絡(luò)移動性帶來了一次Web革命。隨著Internet的發(fā)展,Java技術(shù)本身在不斷得進(jìn)步,JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個寫Java
32、的applet和應(yīng)用程序的程序開發(fā)平臺。它由一個處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成。</p><p> 2.2 JAVA EE平臺相關(guān)介紹</p><p> J2EE,Java2平臺企業(yè)版(Java 2 Platform Enterprise Edition), 是Sun公司為企業(yè)級應(yīng)用推出的標(biāo)準(zhǔn)平臺。Java平
33、臺共分為三個主要版本Java EE、Java SE和Java ME。 Sun公司在1998年發(fā)表JDK1.2版本的時候,使用了新名稱Java 2 Platform,即“Java2平臺”,修改后的JDK稱為Java 2 Platform Software Develping Kit,即J2SDK。并分為標(biāo)準(zhǔn)版(Standard Edition,J2SE), 企業(yè)版(Enterprise Edition,J2EE),微型版(Mic
34、roEdition,J2ME)。J2EE便由此誕生。</p><p> 2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經(jīng)更名以取消其中的數(shù)字“2”:J2EE更名為Java EE, J2SE更名為Java SE,J2ME更名為Java ME。</p><p> 隨著Java技術(shù)的發(fā)展,J2EE平臺得到了迅速的發(fā)展,成為Java語言中最
35、活躍的體系之一?,F(xiàn)如今,J2EE不僅僅是指一種標(biāo)準(zhǔn)平臺(Platform),它更多的表達(dá)著一種軟件架構(gòu)和設(shè)計(jì)思想。 </p><p> 從整體上講,J2EE是使用Java技術(shù)開發(fā)企業(yè)級應(yīng)用的一種事實(shí)上的工業(yè)標(biāo)準(zhǔn)(Sun公司出于其自身利益的考慮,至今沒有將Java及其相關(guān)技術(shù)納入標(biāo)準(zhǔn)化組織的體系),它是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級應(yīng)用過程中的產(chǎn)物。目前,Java平臺有三個版本:適用于小型設(shè)備和智能卡的J2ME
36、(Java 2 Platform Micro Edition)、適用于桌面系統(tǒng)的J2SE和適用于企業(yè)級應(yīng)用的J2EE。Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構(gòu)的潮流,為應(yīng)用Java技術(shù)開發(fā)服務(wù)器端應(yīng)用提供一個平臺獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級平臺,從而簡化企業(yè)應(yīng)用的開發(fā)、管理和部署。J2EE是一個標(biāo)準(zhǔn),而
37、不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J(rèn)2EE規(guī)范分別開發(fā)了不同的J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器是J2EE企業(yè)級應(yīng)用的部署平臺。由于它們都遵循了J2EE規(guī)范,因此,使用J2EE技術(shù)開發(fā)的企業(yè)級應(yīng)用可以部署在各種J2EE應(yīng)用服務(wù)器上。</p><p> 2.3 所采用數(shù)據(jù)庫及原因</p><p> 本系統(tǒng)采用的是目前比較流行的小型數(shù)據(jù)庫系統(tǒng)MYSQL。</p>&l
38、t;p> MySQL 是瑞典的MySQL AB公司開發(fā)的一個可用于各種流行操作系統(tǒng)平臺的關(guān)系數(shù)據(jù)庫系統(tǒng),它具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。MySQL 完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫。MySQL具有功能強(qiáng)、使用簡單、管理方便、運(yùn)行速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。MySQL用C和C++編寫,它可以工作在許多平臺(Unix,Linux,W
39、indows)上,提供了針對不同編程語言(C,C++,JAVA等)的API函數(shù);使用核心線程實(shí)現(xiàn)多線程,能夠很好的支持多CPU;提供事務(wù)和非事務(wù)的存儲機(jī)制;快速的基于線程的內(nèi)存分配系統(tǒng);MySQL采用雙重許可,用戶可以在GNU許可條款下以免費(fèi)軟件或開放源碼軟件的方式使用MySQL軟件,也可以從MySQL AB公司獲得正式的商業(yè)許可。</p><p> 除了以上特點(diǎn),MySQL 還有一個最大的特點(diǎn),那就是在諸如
40、UNIX 這樣的操作系統(tǒng)上,它是免費(fèi)的,可從因特網(wǎng)上下載其服務(wù)器和客戶機(jī)軟件。并且還能從因特網(wǎng)上得到許多與其相配的第三方軟件或工具。而在 Windows 系統(tǒng)上,其客戶機(jī)程序和客戶機(jī)程序庫是免費(fèi)的。</p><p> 有些軟件開發(fā)人員可能會認(rèn)為MYSQL數(shù)據(jù)庫屬于那個小型的數(shù)據(jù)庫,但是在我看來不同的數(shù)據(jù)庫要根據(jù)你不同的需要還進(jìn)行選擇的,在我看來時下小的程序例如電子相冊系統(tǒng)它不會產(chǎn)生大量的數(shù)據(jù),只需要一些數(shù)據(jù)的查
41、詢和相應(yīng)的插入沒有太復(fù)雜的表與表這間的結(jié)構(gòu),而且對于小系統(tǒng)來說性能是相當(dāng)重要的。相比MYSQL來說ORACLE數(shù)據(jù)確實(shí)可以看作是相當(dāng)大的而且功能相當(dāng)全的數(shù)據(jù)庫,但是同是ORACLE數(shù)據(jù)庫對于系統(tǒng)的要求也是相當(dāng)?shù)目量獭K笙到y(tǒng)要有較高的性能才能帶得起整個程序的發(fā)布。</p><p> MySQL 包含有下列工具:</p><p> (1) SQL 服務(wù)器。這是 MySQL 的引擎,它提
42、供對數(shù)據(jù)庫的訪問。</p><p> (2) 訪問服務(wù)器的客戶機(jī)程序。包括一個允許直接錄入查詢并查看結(jié)果的交互式程序,以及幾個幫助操縱站點(diǎn)的管理程序和實(shí)用程序。其中有一個實(shí)用程序允許控制服務(wù)器。其他的實(shí)用程序?qū)牖驅(qū)С鰯?shù)據(jù),檢查訪問許可等。</p><p> (3) 幫助用戶編寫自己的程序的客戶機(jī)庫。MySQL提供眾多的API ( C, C++, Eiffel, Java, Perl,
43、 PHP, Python, Ruby, and Tcl)</p><p> (4) MySQL 除了提供內(nèi)嵌軟件外,它還被許多很有才能的人使用。這些人喜歡編寫軟件以提高其產(chǎn)品效率,或愿意將自己編寫的軟件提供給他人使用。因此,使用 MySQL能得到各種各樣的第三方工具,這些工具令 MySQL使用更方便,或者擴(kuò)展了 MySQL,使其進(jìn)入諸如 Web 站點(diǎn)開發(fā)這樣的領(lǐng)域。</p><p>
44、2.4 MVC設(shè)計(jì)模式的原理</p><p> 在這里簡要的介紹一下關(guān)于上一章中反復(fù)提到的MVC結(jié)構(gòu),其實(shí)MVC可以說是模型層--視圖層—控制層的簡稱,即 Model-View-Controller的簡稱。它強(qiáng)制性地把應(yīng)用程序的輸入、處理和輸出分開,大大提高了代碼的重用性。如圖2-1所示。</p><p> 圖 2-1 MVC示圖</p><p> 2.4.1
45、 MVC設(shè)計(jì)思想</p><p> MVC英文即Model-View-Controller,即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個應(yīng)用被分成三個層——模型層、視圖層、控制層?! ∫晥D(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有
46、挑戰(zhàn)性。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。</p><p> 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,
47、模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對一個開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷
48、開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對編程的開發(fā)人員非常重要。</p><p> 業(yè)務(wù)模型還有一個很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對象的數(shù)據(jù)保存(持續(xù)化)。比如將一張訂單保存
49、到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。</p><p> 控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個連接,控制層接受請求后, 并不處
50、理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應(yīng)多個視圖,一個視圖可能對應(yīng)多個模型。</p><p> 2.4.2 MVC的優(yōu)點(diǎn)</p><p> 大部分用過程語言比如ASP、PHP開發(fā)出來的Web應(yīng)用,初始的開發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫發(fā)送請求并用HTML顯示,開發(fā)速度往往比較快,但由于數(shù)據(jù)頁面的分離不是
51、很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿足用戶的變化性需求。MVC要求對應(yīng)用分層,雖然要花費(fèi)額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過模型可以得到更好地體現(xiàn)。</p><p> 首先,最重要的是應(yīng)該有多個視圖對應(yīng)一個模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對于訂單的處理
52、都是一樣,也就是說訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個訂單模型以及多個視圖即可解決問題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)量,一旦模型發(fā)生改變,也易于維護(hù)。</p><p> 2.5三框架相關(guān)知識簡介</p><p> 本系統(tǒng)是基于J2EE的三種框架的集成性開發(fā),其中包括STRUTS框架SPRING框架HIBERNATE框架等,它們在整個模塊的開發(fā)過程中起著不同的作用。&l
53、t;/p><p> 2.5.1 STRUTS框架</p><p> 其中STRUTS框架主要是MVC結(jié)構(gòu),而MVC把交互系統(tǒng)的組成分解成模型、視圖、控制器三部分。模型(Model)是軟件所處理問題邏輯在獨(dú)立于外在顯示內(nèi)容和形式情況下的內(nèi)在抽象,封裝了問題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和I/O操作。視圖(View)把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用
54、戶。它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式或視圖??刂破?Controller)是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。通常一個視圖對應(yīng)一個控制器。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴
55、于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。</p><p> 2.5.2 HIBERNATE框架</p><p> HIBERNATE框架是一個數(shù)據(jù)持久層框架,是一種實(shí)現(xiàn)對象和關(guān)系之間映射(O/R Mapping)的工具,它對JDBC進(jìn)行了輕量級的對象封裝,使程序員可以使用對
56、象編程思想來操作數(shù)據(jù)庫。它不僅提供了從Java類到數(shù)據(jù)表的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對于使用JDBC和SQL來操作數(shù)據(jù)庫,使用Hibernate能大大的提高實(shí)現(xiàn)的效率。Hibernate框架用配置文件的形式來定義Java對象和數(shù)據(jù)表之間的映射關(guān)系,同時在更深的層面將數(shù)據(jù)表之間的關(guān)系解釋為Java對象之間的繼承及包含等關(guān)系。通過使用HQL語句將復(fù)雜的關(guān)系算法用對象的方式描述,在很大程度上簡化了對數(shù)據(jù)的查詢,加快了開發(fā)的效率。在H
57、ibernate中有一個簡單而直觀的API,用于對數(shù)據(jù)庫所表示的對象執(zhí)行查詢。要創(chuàng)建或修改這些對象,只需在程序中與它們進(jìn)行交互,然后告訴Hibernate保存即可。這樣,大量封裝持久化操作的業(yè)務(wù)邏輯不再需要編寫煩瑣的JDBC語句,從而使數(shù)據(jù)持久層得到了極大的簡化。</p><p> 2.5.3 SPRING框架</p><p> 而Spring是一個開源框架主要有兩大特性包括:依賴注入
58、(IOC)和切面(AOP)在我的這個設(shè)計(jì)中基本上只體現(xiàn)了其中的一部分也就是IOC依賴注入,所謂的依賴注入就是Spring通過一種稱作控制反轉(zhuǎn)(IOC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IOC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IOC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。</p><p> 控制
59、反轉(zhuǎn)模式(也稱作依賴性介入)的基本概念是:不創(chuàng)建對象,但是描述創(chuàng)建它們的方式。在代碼中不直接與對象和服務(wù)連接,但在配置文件中描述哪一個組件需要哪一項(xiàng)服務(wù)。容器 (在 Spring 框架中是 IOC 容器) 負(fù)責(zé)將這些聯(lián)系在一起。在典型的 IOC 場景中,容器創(chuàng)建了所有對象,并設(shè)置必要的屬性將它們連接在一起,決定什么時間調(diào)用方法。下表列出了 IOC 的一個實(shí)現(xiàn)模式。</p><p><b> 2.6 J
60、SP技術(shù)</b></p><p> 隨著Web應(yīng)用的飛速發(fā)展,傳統(tǒng)的靜態(tài)HTML語言已經(jīng)越來越不適應(yīng)需要,由此導(dǎo)致了人們在傳統(tǒng)的靜態(tài)HTML上增添新的功能,這一切功能最終導(dǎo)致了動態(tài)HTML的產(chǎn)生,Web已經(jīng)從一個大部分顯示靜態(tài)信息的網(wǎng)絡(luò)演化成能夠進(jìn)行股票交易和購書操作等的一種基礎(chǔ)設(shè)施網(wǎng)絡(luò)。靜態(tài)HTML對于顯示靜態(tài)內(nèi)容是不錯的選擇,新的挑戰(zhàn)在于創(chuàng)建交互的基于Web的應(yīng)用程序,用戶在瀏覽信息的同時也需要
61、向服務(wù)器反饋一些信息,在這些程序中,頁面的內(nèi)容是基于用戶的請求或系統(tǒng)的狀態(tài),而不是預(yù)先定義的文字。</p><p> 某些Web服務(wù)器供應(yīng)商已經(jīng)嘗試通過為他們的服務(wù)器提供“插件”和API來簡化Web應(yīng)用程序的開發(fā)難度。但這些解決方案是與特定的Web服務(wù)器相關(guān)的,例如,微軟的ASP技術(shù)使得在Web頁面上創(chuàng)建動態(tài)內(nèi)容更加容易,但是也只能工作在微軟的IIS和Personal Web Server上。還存在其他的解決方
62、案,但不能使一個普通的頁面設(shè)計(jì)者更加容易掌握。例如像Java Servlets技術(shù),就可以使得用Java語言編寫交互應(yīng)用程序的服務(wù)器端代碼變得很容易,開發(fā)人員能夠編寫出這樣的Servlets,以接受來自Web瀏覽器的HTTP請求,動態(tài)地生成響應(yīng),然后發(fā)送包含HTML或XML文檔的響應(yīng)到瀏覽器。 采用這種方法,整個網(wǎng)頁必須都在Java Servlets中制作,如果開發(fā)人員或者Web管理人員想要調(diào)整頁面顯示,就不得不編輯并重新編譯該Jav
63、a Servlets,即使在邏輯上已經(jīng)能夠運(yùn)行了。采用這種辦法,生成有動態(tài)內(nèi)容的頁面仍然需要應(yīng)用程序的開發(fā)技巧。</p><p> 很顯然,目前需要的是一個業(yè)界范圍內(nèi)的創(chuàng)建動態(tài)內(nèi)容的解決方案。這個方案將解決當(dāng)前方案所受到的限制,即使在任何Web的交互程序服務(wù)器上運(yùn)行、將應(yīng)用程序邏輯和頁面顯示分離、能夠快速地開發(fā)和測試、簡化開發(fā)基于Web的交互式應(yīng)用程序的過程。</p><p> JSP
64、技術(shù)就是被設(shè)計(jì)用來滿足這樣的要求的。</p><p> JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)間廣泛合作的結(jié)果,SUN公司開發(fā)出這個規(guī)范來整合和平衡已經(jīng)存在的規(guī)范對Java編程環(huán)境進(jìn)行支持的技術(shù)和工具,其結(jié)果是產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法,給予使用基于組件應(yīng)用邏輯的頁面設(shè)計(jì)者以強(qiáng)大的功能支持。</p><p> JSP網(wǎng)頁包含以下的組件:<
65、/p><p><b> (1) JSP指示</b></p><p> JSP頁面使用JSP指示將指令傳遞到JSP容器,其中包括:JSP頁面指示傳遞與頁面相關(guān)的信息,例如緩沖區(qū)和線程信息或者出錯信息;語言指示指定腳本語言以及所有的擴(kuò)展;包含指示可以被用來在頁面中包含一個外部文件,被包含的文件可能是另一個JSP文件,標(biāo)識庫指示指出頁面可以調(diào)用的客戶標(biāo)識庫類型。</p
66、><p><b> (2) JSP標(biāo)識</b></p><p> 絕大數(shù)JSP處理將通過與JSP相關(guān)的基于XML的標(biāo)識完成,這些標(biāo)識包括:</p><p> Jsp:useBean這個標(biāo)識聲明對一個JavaBean組件實(shí)例的使用;</p><p> Jsp;setproperty這個標(biāo)識在組件的實(shí)例中設(shè)置一個屬性的值
67、;</p><p> Jsp:getProperty這個標(biāo)識獲取一個組件的實(shí)例的屬性值,將其轉(zhuǎn)化為字</p><p> 符串,并且將它放入隱含對象out中;</p><p> Jsp:include和Jsp:forward </p><p> 標(biāo)識的好處在于它們易于在應(yīng)用程序中使用和共享基于標(biāo)識的語法的真正威力來自標(biāo)識庫的開發(fā),使得工
68、具供應(yīng)商或其他人員能夠?yàn)樘囟ǖ囊髣?chuàng)建和分派標(biāo)識。</p><p><b> (3) JSP指示</b></p><p> JSP頁面可以在頁面中包含小的腳本,小腳本是一個代碼片段,在請求</p><p> 的出處理過程中被執(zhí)行,小腳本可以和頁面中的靜態(tài)元件組合起來創(chuàng)建動態(tài)生</p><p> 成的頁面。腳本在標(biāo)
69、志中被描述,在這對標(biāo)志中的所有的東西都會被腳本描述</p><p> 語言容器執(zhí)行,JSP規(guī)范支持所有常用的腳本元件,包括聲明和表達(dá)式。</p><p> (4) JSP頁面應(yīng)用模型</p><p> JSP頁面由JSP容器執(zhí)行,容器安裝在Web服務(wù)器或者JSP的引用服務(wù)器上,JSP容器接受客戶端的請求,并且生成JSP頁面給客戶端的響應(yīng)。</p>
70、<p> 2.7 關(guān)于JavaScript 腳本語言的應(yīng)用</p><p> JavaScript語言是web增強(qiáng)型技術(shù),當(dāng)在客戶計(jì)算機(jī)上使用時,該語言有助于把內(nèi)容的靜態(tài)頁面轉(zhuǎn)換為動人的、交互式的、智能的體驗(yàn)。應(yīng)用程序可以做得非常微妙,例如如果客戶計(jì)算機(jī)所在的時區(qū)是早晨,即使此時服務(wù)器處在晚飯時間,應(yīng)用程序也將會向網(wǎng)站訪問音問候“早上好”;或者還可實(shí)現(xiàn)更加顯眼的效果,比如在頁面下載時傳遞幻燈片內(nèi)容
71、,而在整個演示過程中JavaScript控制隱藏、顯示和幻燈片的轉(zhuǎn)換。</p><p> 應(yīng)用JavaScript,可以彌補(bǔ)程序運(yùn)行速度上的缺陷(盡可能在客戶端完成,不一定每次都提交給服務(wù)器),同時它也擴(kuò)展了WEB頁面的功能。</p><p> 使用JavaScript可以完成表單的驗(yàn)證,不用強(qiáng)迫服務(wù)器或數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)的確認(rèn),直接在客戶端就完成了任務(wù),大大提高了運(yùn)行效率。利用用戶的計(jì)
72、算機(jī)去處理一些問題,分擔(dān)了數(shù)據(jù)庫的工作量。隨著新的W3C標(biāo)準(zhǔn)出臺,利用內(nèi)置對象的document.getElementById(id)方法可以取到頁面中的任意元素(前提是各個元素的屬性id已經(jīng)設(shè)置初值)。利用這種方法可以獲得表單中文本框或按鈕上的值,然后再對它們加以分析、對比、判斷數(shù)據(jù)格式。通過返回的真假值來決定是否提交給應(yīng)用服務(wù)器。</p><p> 其次,使用JavaScript可以提供用戶更為豐富的使用體
73、驗(yàn),不用刷新就可以改變頁面上的內(nèi)容,和JSP技術(shù)相互配合,符合當(dāng)今IT技術(shù)中的WEB方向發(fā)展的潮流。</p><p> 在本次的程序中使用了一些JavaScript腳本語言作為一些特效的應(yīng)用,其實(shí)在JS腳本來說就是在做一些前臺的驗(yàn)證和特效的功能。</p><p> 2.8 MyEclipse開發(fā)工具的簡要介紹</p><p> 計(jì)算機(jī)軟件編程行業(yè)已經(jīng)逐步走入成
74、熟對于編程人員的要求就越來越高了,當(dāng)然作為一名軟件開發(fā)人員選擇一個合適的開發(fā)工具也就能夠幫助其更快更好更穩(wěn)定地進(jìn)行開發(fā),這一點(diǎn)在時下顯得越來越重要。MyEclipse絕對就是一個不錯的選擇,不論是單機(jī)應(yīng)用還是網(wǎng)絡(luò)開發(fā),它都提供了很好的支持,特別是對JSP和Tomcat服務(wù)器的支持,使軟件開發(fā)人員在開發(fā)過程中感覺便于操作,可以很好的實(shí)現(xiàn)功能很快的看到效果,節(jié)省了開發(fā)人員很多的時間。</p><p> MyEcli
75、pse 6.0以后有了很大的革新,在原來的版本中一般是用到的Eclipse然后在其中安裝相應(yīng)的MyEclipse一些相應(yīng)的插件,在很大程序上,這樣的一種組合形式對開發(fā)人員來講過于復(fù)雜,不便于操作。針對這一原因在MyEclipse在版本的研發(fā)上著重了解決了這一點(diǎn)缺陷,他們以MyEclipse完全整合了Ecplise,換句話也就是說開發(fā)人員只需要安裝MyEclipse它其中就會自動給你安裝Eclipse,無須你再說安裝在這一點(diǎn)上就我本人來講
76、是相當(dāng)?shù)母惺艿搅吮憷?。從專業(yè)上來講它是替代IBM Visual Age for Java(以下簡稱IVJ)的下一代IDE開發(fā)環(huán)境,但它未來的目標(biāo)不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),甚至能成為圖片繪制的工具。目前,MyEclipse已經(jīng)開始提供一些語言開發(fā)的功能插件,例如C語言等。更值得一提的是,MyEclipse是一個開放源代碼的項(xiàng)目,任何人都可以下載MyE
77、clipse的源代碼,并且在此基礎(chǔ)上開發(fā)一些自己的功能插件。也就是說未來只要有人需要,就會有建立在MyEcl</p><p> 利用它可以更好地掌握軟件開發(fā)周期,進(jìn)一步提升了Web Services的開發(fā)效率。它支持包括SOAP、WSDL、UDDI和WSIL等最新的Web Services技術(shù),并且可以通過拖放方式更快捷地實(shí)現(xiàn)創(chuàng)建、驗(yàn)證、輸入和輸出Web服務(wù),同時利用MyEclipse提供的多種可視化插件,可以
78、快速地開發(fā)Web應(yīng)用程序。MyEclipse允許將現(xiàn)在的HTML或是JSP轉(zhuǎn)換為特有的Structs標(biāo)簽,并且提供了JSP標(biāo)簽函數(shù)庫功能,大大提高了編碼的效率。通過它提供的實(shí)時代碼語法檢查,我可以隨時找到語法上的編寫錯誤,以不同顏色標(biāo)注代碼的變量和語句,使程序變得很清晰,可讀性也提高了。本系統(tǒng)采用的是Myeclipse7.0。</p><p> 2.9 WEB服務(wù)器Tomcat6.0</p>&l
79、t;p> 在WEB工具的選擇上我所選擇的是Tomcat6.0,</p><p> Tomcat是一個免費(fèi)的開源的Serlvet容器,它是Apache基金會的Jakarta項(xiàng)目中的一個核心項(xiàng)目,由Apache,Sun和其它一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的
80、java產(chǎn)品,可見其在業(yè)界的地位。</p><p> Tomcat的介紹是Web服務(wù)器一種,是開源的web服務(wù)器。</p><p> 2.9.1 Tomcat Server的組成部分</p><p> (1) Server :A Server element represents the entire Catalina servlet container. (
81、Singleton) </p><p> (2) Service :A Service element represents the combination of o-ne or more Connector components that share a single Engine。Service是這樣一個集合:它由一個或者多個Connector組成,以及一個Engine,負(fù)責(zé)處理所有Connector所獲得
82、的客戶請求</p><p> (3) Connector </p><p> 一個Connector將在某個指定端口上偵聽客戶請求,并將獲得的請求交給Engine來處理,從Engine處獲得回應(yīng)并返回客戶。TOMCAT有兩個典型的Connector,一個直接偵聽來自browser的http請求,一個偵聽來自其它WebServer的請求。Coyote Http/1.1 Connector
83、 在端口8080處偵聽來自客戶browser的http請求。Coyote JK2 Connector 在端口8009處偵聽來自其它WebServer(Apache)的servlet/jsp代理請求</p><p> (4) Engine </p><p> Engine下可以配置多個虛擬主機(jī)Virtual Host,每個虛擬主機(jī)都有一個域名。當(dāng)Engine獲得一個請求時,它把該請求匹配
84、到某個Host上,然后把該請求交給該Host來處理。Engine有一個默認(rèn)虛擬主機(jī),當(dāng)請求無法匹配到任何一個Host上的時候,將交給該默認(rèn)Host來處理</p><p><b> (5) Host </b></p><p> 代表一個Virtual Host,虛擬主機(jī),每個虛擬主機(jī)和某個網(wǎng)絡(luò)域名Domain Name相匹配。每個虛擬主機(jī)下都可以部署(deploy)
85、一個或者多個Web App,每個Web App對應(yīng)于一個Context,有一個Context path。當(dāng)Host獲得一個請求時,將把該請求匹配到某個Context上,然后把該請求交給該Context來處理。匹配的方法是“最長匹配”,所以一個path==""的Context將成為該Host的默認(rèn)Context所有無法和其它Context的路徑名匹配的請求都將最終和該默認(rèn)Context匹配</p><
86、;p> (6) Context </p><p> 一個Context對應(yīng)于一個Web Application,一個Web Application由一個或者多個Servlet組成。Context在創(chuàng)建的時候?qū)⒏鶕?jù)配置文件$CATALINA_HOME/conf/web.xml和$WEBAPP_HOME/WEB-INF/web.xml載入Servlet類。當(dāng)Context獲得請求時,將在自己的映射表(map
87、ping table)中尋找相匹配的Servlet類。如果找到,則執(zhí)行該類,獲得請求的回應(yīng),并返回</p><p> 2.9.2 Tomcat Server處理一個http請求的過程</p><p> 假設(shè)來自客戶的請求為:</p><p> http://localhost:8080/web/wsota_index.jsp</p><p&
88、gt; (1) 請求被發(fā)送到本機(jī)端口8080,被在那里偵聽的Coyote HTTP/1.1 Connector獲得</p><p> (2) Connector把該請求交給它所在的Service的Engine來處理,并等待來自Engine的回應(yīng)</p><p> (3) Engine獲得請求localhost/web/wsota_index.jsp,匹配它所擁有的所有虛擬主機(jī)Host
89、</p><p> (4) Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因?yàn)樵揌ost被定義為該Engine的默認(rèn)主機(jī))</p><p> (5) localhost Host獲得請求/web/wsota_index.jsp,匹配它所擁有的所有Context</p><p> (6) Host匹配到路徑為/web
90、的Context(如果匹配不到就把該請求交給路徑名為""的Context去處理)</p><p> (7) path="/web"的Context獲得請求/wsota_index.jsp,在它的mapping table中尋找對應(yīng)的servlet</p><p> (8) Context匹配到URL PATTERN為*.jsp的servlet,對
91、應(yīng)于JspServlet類</p><p> (9) 構(gòu)造HttpServletRequest對象和HttpServletResponse對象,作為參數(shù)調(diào)用JspServlet的doGet或doPost方法</p><p> (10)Context把執(zhí)行完了之后的HttpServletResponse對象返回給Host</p><p> (11)Host把Ht
92、tpServletResponse對象返回給Engine</p><p> (12)Engine把HttpServletResponse對象返回給Connector</p><p> (13)Connector把HttpServletResponse對象返回給客戶browser</p><p><b> 2.10 本章小結(jié)</b><
93、/p><p> 在本章中主要介紹了軟件開發(fā)時所用的開發(fā)工具和相關(guān)的技術(shù),重點(diǎn)介紹了Java、J2EE平臺和MVC結(jié)構(gòu)等相關(guān)知識以及JAVA三框架Hibernate、Spring、Struts的工作機(jī)制。同時也詳細(xì)介紹了JSP的相關(guān)技術(shù),運(yùn)行環(huán)境及其開發(fā)工具。</p><p> 第3章 電子相冊系統(tǒng)需求分析</p><p><b> 3.1可行性分析<
94、;/b></p><p> 3.1.1系統(tǒng)總體目標(biāo)</p><p> 本系統(tǒng)主要是為了給那些對照片管理感興趣的朋友提供一個交流的平臺,對有很多照片需要管理的朋友,你在這里可以進(jìn)行注冊成為會員,上傳自己的照片,也可以著瀏覽別人的相冊,還可以修改個人資料。非注冊會員你可以瀏覽電子相冊里別人的相片。對于管理員登陸,可以添加相冊分類。</p><p> 3.1.
95、2技術(shù)可行性分析</p><p> 這個電子相冊是基于web來開發(fā)的,主要運(yùn)用jsp技術(shù)、Hibernate、Spring、Struts框架等相關(guān)技術(shù),以My sql為后臺數(shù)據(jù)庫、Tomcat6.0為應(yīng)用服務(wù)器。這些應(yīng)用軟件(如JDK、tomcat6.0、Myeclipse7.0、Dreamweaver等都可以在網(wǎng)絡(luò)上免費(fèi)下載得來),并且這些軟件都是些最常用的網(wǎng)頁開發(fā)工具,都能夠快和好的掌握,并且也學(xué)了有關(guān)網(wǎng)頁
96、開發(fā)的課程,所以一些最常用的技術(shù)能夠比較好的實(shí)現(xiàn),所以對于本系統(tǒng)在技術(shù)上是可以達(dá)到的。</p><p><b> 3.1.3功能需求</b></p><p> 本系統(tǒng)應(yīng)該具有相片瀏覽、相片上傳、評論相片、編輯、刪除相片、用戶注冊、用戶管理、個人信息修改等功能。</p><p><b> 3.1.4性能需求</b>&l
97、t;/p><p> 設(shè)備需求:PC機(jī),Windows98/2000/xp操作系統(tǒng),PII以上,64MB RAM。服務(wù)器、采用My sql數(shù)據(jù)庫管理。</p><p><b> 3.2系統(tǒng)總體結(jié)構(gòu)</b></p><p> 本系統(tǒng)所研究的是從電子相冊的管理到相冊的生成等一系列的問題,大致分為:</p><p> 相冊列
98、表:此模塊是注冊用戶所創(chuàng)建的相冊列表,其創(chuàng)建時要選擇所屬的相冊分類,相冊名字由注冊用戶所規(guī)定。相冊封皮也可以由用戶設(shè)定。</p><p> 新建相冊:此功能是注冊用戶所擁有的,用戶可以自己創(chuàng)建想要的相冊。</p><p> 修改資料:注冊用戶注冊時填寫的資料可以在再次登陸時修改。</p><p> 修改密碼:用戶可以修改自己的登錄密碼。</p>
99、<p> 技術(shù)支持:介紹了所用到的知識點(diǎn)。</p><p> 相冊分類管理:此功能是管理員登錄時擁有的權(quán)限,管理員可以添加相冊的分類。</p><p> 3.2.1 系統(tǒng)總體結(jié)構(gòu)</p><p> 圖 3-1 總體架構(gòu)</p><p><b> 3.2.2用例圖</b></p><
100、p> 用例圖就是把網(wǎng)站各個用戶的動作分解一下,再用畫圖軟件把它畫出來。電子相冊系統(tǒng)的角色之一是注冊用戶</p><p> 用例名稱:用戶登錄 執(zhí)行者:用戶</p><p> 目的:完成注冊用戶登陸后的一系列操作的完整過程。</p><p> ?。?)用戶輸入登錄名,密碼,系統(tǒng)識別用戶信息的有效性;</p><p> ?。?)
101、對用戶信息進(jìn)行識別;</p><p> ?。?)用戶完成相冊列表,新建相冊修改資料等一系列操作;</p><p><b> ?。?)退出系統(tǒng)。</b></p><p><b> 圖 3-2 用例圖</b></p><p> 3.3系統(tǒng)功能模塊結(jié)構(gòu)</p><p> 相冊
102、管理系統(tǒng)分為五大模塊、相冊列表模塊、新建相冊模塊、修改資料模塊、修改密碼模塊、添加相冊模塊。注:前四大模塊是根據(jù)注冊用戶的提供的,而如果是未注冊用戶只能查看相冊中的內(nèi)容,沒有權(quán)力進(jìn)行相應(yīng)的修改。</p><p> 3.3.1相冊列表模塊</p><p> (1) 業(yè)務(wù)描述:管理相冊的相關(guān)圖片的上傳。</p><p> (2) 業(yè)務(wù)流程:用戶點(diǎn)擊相冊列表可以瀏覽
103、相關(guān)的相冊,當(dāng)然點(diǎn)擊上傳圖片就可以進(jìn)入一個上傳圖片的頁面,在該頁面中用戶可以根據(jù)自己的需要上傳相應(yīng)的圖片,為圖片取名、分類,提交后返回相冊列表。</p><p> (3) 輸入數(shù)據(jù):記錄編號是自增列不顯示在前臺頁面;圖片名稱、文件簡介分別以文本框的形式展示在前臺頁面中,由用戶輸入;圖片的上傳以一種數(shù)據(jù)流的形式出現(xiàn),出現(xiàn)在前臺的時候以一種需要用戶點(diǎn)擊選擇的形式出現(xiàn)。</p><p> (
104、4) 角色說明:此功能主要由注冊用戶和非注冊用戶使用。</p><p> 3.3.2新建相冊模塊</p><p> (1) 業(yè)務(wù)描述:添加相冊即為用戶所處的相冊管理模塊加入一個新的相冊。</p><p> (2) 業(yè)務(wù)流程:點(diǎn)擊新建相冊的界面,進(jìn)入新建相冊的主界面根據(jù)提示輸入相關(guān)的信息后選擇提交,則可看到剛剛新添加的那個相冊,然后可以根據(jù)自己的需要選擇是否加入
105、相片,如果加入的話點(diǎn)擊相冊,然后點(diǎn)擊上傳相片,根據(jù)提示填寫相關(guān)的信息,然后選擇上傳路徑單擊上傳,選擇提交,這樣系統(tǒng)會自動的生成一個大圖片和一個小圖片,用來顯示封面等操作。</p><p> 圖 3-3 新建相冊流程圖</p><p> (3) 錯誤處理:在填寫信息的過程中不允許有不被填寫的欄目,系統(tǒng)會給出相應(yīng)的提示。</p><p> (4) 輸入數(shù)據(jù):由用戶
106、輸入相應(yīng)的數(shù)據(jù)信息。</p><p> (5) 輸出結(jié)果:其輸出結(jié)果為在相冊列表中給予相應(yīng)的顯示。</p><p> (6) 角色說明:此功能主要注冊用戶使用。</p><p> 3.3.3修改資料模塊</p><p> (1) 業(yè)務(wù)描述:對注冊用戶來講,將他們的資料從后臺數(shù)據(jù)庫中讀取出來然后根據(jù)用戶的需要進(jìn)行相應(yīng)的修改,根據(jù)用戶資料
107、采集界面來采集相應(yīng)的數(shù)據(jù),根據(jù)這些數(shù)據(jù)來更新數(shù)據(jù)庫中該用戶的相應(yīng)資料。如果是未注冊的用戶可根據(jù)提示進(jìn)行注冊。</p><p><b> (2) 業(yè)務(wù)流程</b></p><p> 圖3-4修改資料流程圖</p><p> (3) 錯誤處理:在填寫信息的過程中不允許有不被填寫的欄目,系統(tǒng)會給出相應(yīng)的提示。</p><p&
108、gt; (4) 輸入數(shù)據(jù):由用戶輸入相應(yīng)的數(shù)據(jù)信息。</p><p> (5) 輸出結(jié)果:無</p><p> (6) 角色說明:此功能主要注冊用戶使用。</p><p> 3.3.4修改密碼模塊</p><p> (1) 業(yè)務(wù)描述:對注冊用戶來講,該模塊是用于修改注冊用戶的登陸系統(tǒng)平臺的密碼,注冊用戶可以根據(jù)自己的需要來修改其密碼
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子相冊畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----flash電子相冊設(shè)計(jì)
- 電子相冊制作軟件畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于.net電子相冊的開發(fā)
- 記事本和電子相冊開發(fā)畢業(yè)設(shè)計(jì)
- 畢業(yè)論文--電子相冊的設(shè)計(jì)
- 畢業(yè)論文---個人電子相冊設(shè)計(jì)
- 電子與計(jì)算機(jī)畢業(yè)設(shè)計(jì)周記
- 計(jì)算機(jī)遠(yuǎn)程維護(hù)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)網(wǎng)站畢業(yè)設(shè)計(jì)
- 電子相冊 畢業(yè)論文
- 計(jì)算機(jī)學(xué)院網(wǎng)站畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)電源設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)97基于cs結(jié)構(gòu)的餐飲管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)97基于cs結(jié)構(gòu)的餐飲管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)外文翻譯
- 班級電子相冊畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)--網(wǎng)絡(luò)設(shè)計(jì)方案
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)97基于CS結(jié)構(gòu)的餐飲管理系統(tǒng)畢業(yè)設(shè)計(jì).doc
- 計(jì)算機(jī)畢業(yè)設(shè)計(jì)97基于CS結(jié)構(gòu)的餐飲管理系統(tǒng)畢業(yè)設(shè)計(jì).doc
評論
0/150
提交評論