版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)設(shè)計(jì)(論文) 題目: 在線(xiàn)像冊(cè)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名: 學(xué)號(hào): 專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 班級(jí):20061121 指導(dǎo)教師: 評(píng)閱教師: 完成日期: 年 月 日 學(xué)位論文原創(chuàng)性聲明學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究 成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng) 發(fā)表或撰寫(xiě)的成果作品。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。 作者簽名: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書(shū)學(xué)位論文版權(quán)使用授權(quán)書(shū) 本學(xué)位論文作者完全了解學(xué)校有關(guān)保障、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并 向有關(guān)學(xué)位論文管理部門(mén)或機(jī)構(gòu)送交論文的復(fù)
2、印件和電子版,允許論文被查閱和借閱。 本人授權(quán)省級(jí)優(yōu)秀學(xué)士學(xué)位論文評(píng)選機(jī)構(gòu)將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù) 據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。 本學(xué)位論文屬于 1、保密 ,在_年解密后適用本授權(quán)書(shū)。 2、不保密 。 (請(qǐng)?jiān)谝陨舷鄳?yīng)方框內(nèi)打“” ) 作者簽名: 年 月 日 導(dǎo)師簽名: 年 月 日 目 錄 摘要.v 前言.1 第 1 章 緒論.2 1.1 系統(tǒng)開(kāi)發(fā)的背景和意義.2 1.2 國(guó)內(nèi)外發(fā)展?fàn)顩r.2 1.3 研究?jī)?nèi)容.3 第 2 章 選擇平臺(tái)與架構(gòu).5 2.1 開(kāi)發(fā)環(huán)境 .5 2.2 架構(gòu) .5 2.3 運(yùn)行環(huán)境 .5 2.4 本章小結(jié) .5 第
3、3 章 電子像冊(cè)系統(tǒng)需求分析.6 3.1 可行性分析 .6 3.1.1 系統(tǒng)總體目標(biāo).6 3.1.2 技術(shù)可行性分析.6 3.1.3 功能需求.6 3.1.4 性能需求.6 3.2 系統(tǒng)總體結(jié)構(gòu) .6 3.2.1 系統(tǒng)總體結(jié)構(gòu) .7 3.2.2 用例圖.7 3.3 系統(tǒng)功能模塊結(jié)構(gòu) .8 3.3.1 相片管理模塊.8 3.3.2 相冊(cè)管理模塊.8 3.3.3 用戶(hù)管理模塊.9 3.3.4 評(píng)論管理模塊.9 3.4 數(shù)據(jù)庫(kù)模塊 .10 3.5 本章小結(jié) .11 第 4 章 系統(tǒng)實(shí)現(xiàn).12 4.1 注冊(cè)用戶(hù)登陸設(shè)計(jì) .12 4.1.1 注冊(cè)用戶(hù)登陸界面的創(chuàng)建 .12 4.1.2 注冊(cè)用戶(hù)登陸界面
4、.12 4.1.3 實(shí)現(xiàn)過(guò)程 .13 4.2 未注冊(cè)用戶(hù)注冊(cè)設(shè)計(jì) .16 4.3 相冊(cè)列表 .17 4.4 添加相片 .20 4.6 相片管理 .29 4.6.1 修改相片.29 4.6.2 刪除相片.30 4.7 實(shí)現(xiàn) dao 層 .30 4.7.1 dao 組件的定義.30 4.7.2 實(shí)現(xiàn) dao 組件.30 4.8 數(shù)據(jù)庫(kù)設(shè)計(jì) .33 4.9 系統(tǒng)測(cè)試 .33 4.9.1 軟件測(cè)試的目的 .33 4.9.2 各模塊測(cè)試 .33 4.10 本章小結(jié) .36 緒論.37 參考文獻(xiàn).39 致謝.40 在線(xiàn)像冊(cè)的設(shè)計(jì)與實(shí)現(xiàn)在線(xiàn)像冊(cè)的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 生: 指導(dǎo)教師: (三峽大學(xué) 計(jì)算機(jī)與信息學(xué)院
5、) 摘要摘要:隨著人們生活水平的逐步提高,旅游照相成了大家必不可少放松項(xiàng) 目。雖然照片最后會(huì)存入到自己的電腦里,但是時(shí)間一長(zhǎng)、照片一多,這 些有著勾起回憶的“資料” ,就會(huì)顯得雜亂無(wú)章,即不方便欣賞,也不方便 管理。而在線(xiàn)相冊(cè)具有欣賞、傳播方便,界面美觀等特點(diǎn),可以很好的管 理所存入的照片,不失為最佳欣賞、保存照片的相冊(cè)工具。在線(xiàn)相冊(cè)系統(tǒng) 平臺(tái)也就應(yīng)此應(yīng)運(yùn)而生。 本系統(tǒng)是一種基于 b/s 架構(gòu)的在線(xiàn)管理系統(tǒng),它采用目前最流行的 java 語(yǔ)言編寫(xiě),用到了當(dāng)今先進(jìn)的技術(shù)如 jsp 技術(shù)、基于 jsp+servlet+dao 模式在小型應(yīng)用系統(tǒng)中式靈活并穩(wěn)定的架構(gòu),是典型的 基于 mvc 模式的架
6、構(gòu)。同時(shí)采用 mvc 框架技術(shù)也提高了系統(tǒng)的可維護(hù)性。 系統(tǒng)分為:個(gè)人管理模塊、相冊(cè)管理模塊、相片管理、評(píng)論管理模塊。 注:注冊(cè)用戶(hù)登陸后可以進(jìn)行添加相冊(cè),上傳,刪除照片,修改資料等一 系列操作。而如果是未注冊(cè)用戶(hù)只能查看相冊(cè)中的內(nèi)容,沒(méi)有權(quán)力進(jìn)行相 應(yīng)的修改。特別是上傳相片、相冊(cè)列表、相冊(cè)管理、相片查看及評(píng)論管理 等模塊是在線(xiàn)相冊(cè)系統(tǒng)的重點(diǎn)。 關(guān)鍵詞:關(guān)鍵詞:java;電子相冊(cè); mvc abstract:as people gradually increase the standard of living, travel photography has become essential t
7、o relax the project everyone. while the 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 management. electronic album with appreciation,the spread
8、 of convenience,the interface appearance characteristics such as good management can be deposited in the photos, after all, enjoy the best, save a photo album tool. electronic photo album will be the platform came into being. the system is based on b / s architecture online management system, it use
9、s the most popular java language, used in todays advanced technologies such as jsp technology, based on jsp + servlet + dao patterns in small application flexibility and stability of chinese the structure is a typical architecture based on mvc pattern. mvc framework while using technology to improve
10、 the maintainability of the system. system is divided into: personal management module, photo album management module, photo management, reviews management module. note: registered users can add the album after landing, upload, delete photos, edit data and a series of operations. if a non-registered
11、 users can only view the contents of the album, there is no power to make the appropriate changes. in particular, upload photos, album list, album management, photo view and comment management system module is the focus of online photo albums keywords: java; electron photo album; mvc 1 前言前言 相冊(cè)在很早以前就
12、開(kāi)始有,原來(lái)是以紙質(zhì)照片的形式的存在,后來(lái)隨著 時(shí)代的發(fā)展,科技的進(jìn)步,旅游業(yè)的進(jìn)步,照片越來(lái)越多,電腦的普及,傳 統(tǒng)的相冊(cè)在使用人工進(jìn)行管理,存在工作量大,各種多而復(fù)雜的文件信息占 用大量地方,相冊(cè)簿方便攜帶,不易保管,容易丟失,翻看時(shí)不方便等等問(wèn) 題。 隨著科技的進(jìn)步,電腦時(shí)代的來(lái)臨,加速了電子相冊(cè)的產(chǎn)生與進(jìn)步,在 網(wǎng)絡(luò)上,電子相冊(cè)發(fā)展迅速,很多網(wǎng)站,博客都需要電子相冊(cè)的功能,而隨 著微機(jī)的普及使用,人們生活質(zhì)量的提升,越來(lái)越多的人選擇旅游,此時(shí)會(huì) 照大量的照片,對(duì)相冊(cè)的需求都有了更高的要求,這就要求傳統(tǒng)的相冊(cè)能夠 實(shí)現(xiàn)計(jì)算機(jī)化,讓人們能方便快捷共享式的瀏覽照片。 由于現(xiàn)在網(wǎng)絡(luò)競(jìng)爭(zhēng)激烈,人
13、們對(duì)電子相冊(cè)的要求不斷提高,使得電子相 冊(cè)開(kāi)發(fā)者必須以完善相冊(cè)功能和質(zhì)量來(lái)取悅于顧客,電腦的不斷普及和軟件 業(yè)的飛速前進(jìn),使得人們擁有自己獨(dú)特的電子相冊(cè)成為可能,也成為必然。 在現(xiàn)在生活質(zhì)量不斷提高的環(huán)境下,電子相冊(cè)系統(tǒng)越來(lái)越貼近于用戶(hù),貼近 于顧客。電子相冊(cè)管理系統(tǒng)的存在也使網(wǎng)站擁有者獲得了更多的用戶(hù)。 目前,雖然很多網(wǎng)站都有了相冊(cè)功能,但是,這些系統(tǒng)都是針對(duì)性非常 強(qiáng),都是針對(duì)網(wǎng)站當(dāng)前的狀況而開(kāi)發(fā)的,對(duì)現(xiàn)在應(yīng)用來(lái)說(shuō)還算可以,但對(duì)很 多不需要關(guān)注該網(wǎng)站的用戶(hù)來(lái)說(shuō)有很多的局限性。很多用戶(hù)只是需要一個(gè)電 子相冊(cè)功能,并不需要什么博客網(wǎng)站等等,所以,他們需要的是一個(gè)獨(dú)立的 電子相冊(cè)系統(tǒng),用戶(hù)能夠在
14、自己的電腦安裝上電子相冊(cè)系統(tǒng),能夠自己制作 自己的電子相冊(cè),不受網(wǎng)站、博客提供商的約束。 對(duì)此,我們針對(duì)現(xiàn)有相冊(cè)功能,開(kāi)發(fā)了適合多數(shù)用戶(hù)使用的電子相冊(cè)系 統(tǒng),在這個(gè)系統(tǒng)中,我們綜合了原來(lái)舊式紙質(zhì)相冊(cè)的功能,又參考了很多具 有相冊(cè)功能的網(wǎng)站,博客空間,開(kāi)發(fā)出具有自己特色的電子相冊(cè)管理系統(tǒng), 這個(gè)系統(tǒng)可以實(shí)現(xiàn)注冊(cè)用戶(hù)對(duì)相冊(cè)的上傳刪除修改等管理功能。整個(gè)系統(tǒng)我 們要求功能完善,組織全面,具有可擴(kuò)展性,能夠針對(duì)一些報(bào)錯(cuò)事件可以做 出反應(yīng)的系統(tǒng)。 第第 1 1 章章 緒論緒論 隨著數(shù)碼攝影時(shí)代的到來(lái),不論是專(zhuān)業(yè)攝影師建立圖片檔案或是向他人 展示自己的攝影作品,還是家庭生活攝影,都需要電子相冊(cè)來(lái)保管攝影作
15、品。 如同傳統(tǒng)的照相簿,電子相冊(cè)既有展示功能也有存儲(chǔ)和管理功能。 在線(xiàn)相冊(cè)是現(xiàn)在時(shí)下最流行的一種網(wǎng)絡(luò)元素,它可以應(yīng)該在很多的領(lǐng)域, 例如時(shí)下最流行的空間及博客就是大量的應(yīng)該這一技術(shù),而且受到大多數(shù)網(wǎng) 友的認(rèn)可及追捧,其以靜態(tài)照片為素材(獲得源方式為掃描儀掃描、數(shù)碼相機(jī) 所拍等),配合動(dòng)感的背景、前景和字幕等視頻處理的特殊效果,配上音樂(lè)就 可制作成電子相冊(cè)。制作好的在線(xiàn)相冊(cè)可以在電腦上,各類(lèi)影碟機(jī)上,以及 手機(jī)和 mp4 里都能觀看,這是電子相冊(cè)技術(shù)發(fā)展到今天的一個(gè)新的突破,即 不再像傳統(tǒng)那樣,只能在電腦上或在影碟機(jī)上觀看了,并且還可以通過(guò)手機(jī) 將自己的個(gè)性化 mtv 發(fā)送給遠(yuǎn)方的親朋好友們分享
16、。當(dāng)然,如果考慮到長(zhǎng) 期保存的話(huà),制作成電子相冊(cè)光盤(pán)那是最好的選擇啦,金碟可保存 100 多年 之久,標(biāo)準(zhǔn) vcd、svcd、dvd 格式,兼容性好,通過(guò)影牒機(jī)即可與家人、 朋友、客戶(hù)觀賞。若保存在硬盤(pán)上,也便于隨時(shí)調(diào)閱、欣賞,永久保存。 1.11.1 系統(tǒng)開(kāi)發(fā)的背景和意義系統(tǒng)開(kāi)發(fā)的背景和意義 隨著人們生活水平的逐步提高,旅游成了大家必不可少放松項(xiàng)目,每當(dāng) 筆者走到一個(gè)美麗的景點(diǎn),就會(huì)忍不住拿起數(shù)碼相機(jī)照上幾張留做回憶。雖 然照片最后會(huì)存入到自己的電腦里,但是時(shí)間一長(zhǎng)、照片一多,這些有著勾 起回憶的資料,就會(huì)顯得雜亂無(wú)章,即不方便欣賞,也不方便管理。而在線(xiàn) 相冊(cè)具有欣賞、傳播方便,界面美觀等特
17、點(diǎn),可以很好的管理所存入的照片, 不失為最佳欣賞、保存照片的相冊(cè)工具。另外隨著數(shù)碼相機(jī)、手機(jī)照相等功 能的普及,想必每個(gè)人手上都儲(chǔ)存了大量的電子相片,但這此照片如果不進(jìn) 行處理,僅僅以一張張圖片的形式放置在電腦上,不僅 不易觀賞,也不方便 分類(lèi)管理,是否有軟件能將這些照片整理成一本本的相冊(cè)呢?在線(xiàn)相冊(cè)系統(tǒng) 平臺(tái)就是一款集相冊(cè)制作、生成、瀏覽專(zhuān)業(yè)軟件,有了它的幫助,制用相冊(cè) 再也不需要專(zhuān)業(yè)的技術(shù),普通用戶(hù)也可以在五分鐘內(nèi)制作出精美的在線(xiàn)相冊(cè), 3 支持 170 余種照片顯示特技,可以為相片加入文件注釋及說(shuō)明。 1.21.2 國(guó)內(nèi)外發(fā)展?fàn)顩r國(guó)內(nèi)外發(fā)展?fàn)顩r 在線(xiàn)相冊(cè)是現(xiàn)在時(shí)下最流行的一種網(wǎng)絡(luò)元素,它
18、可以應(yīng)該在很多的領(lǐng)域, 例如時(shí)下最流行的空間及博客就是大量的應(yīng)該這一技術(shù),而且受到大多數(shù)網(wǎng) 友的認(rèn)可及追捧,其以靜態(tài)照片為素材(獲得源方式為掃描儀掃描、數(shù)碼相機(jī) 所拍等),配合動(dòng)感的背景、前景和字幕等視頻處理的特殊效果,配上音樂(lè)就 可制作成電子相冊(cè)。制作好的電子相冊(cè)可以在電腦上,各類(lèi)影碟機(jī)上,以及 手機(jī)和 mp4 里都能觀看,這是在線(xiàn)相冊(cè)技術(shù)發(fā)展到今天的一個(gè)新的突破,即 不再象傳統(tǒng)那樣,只能在電腦上或在影碟機(jī)上觀看了。并且還可以通過(guò)手機(jī) 將自己的個(gè)性化 mtv 發(fā)送給遠(yuǎn)方的親朋好友們分享。當(dāng)然,如果考慮到長(zhǎng) 期保存的話(huà),制作成電子相冊(cè)光盤(pán)那是最好的選擇啦,金碟可保存 100 多年 之久,標(biāo)準(zhǔn)
19、vcd、svcd、dvd 格式,兼容性好,通過(guò)影牒機(jī)即可與家人、 朋友、客戶(hù)觀賞;若保存在硬盤(pán)上,也便于隨時(shí)調(diào)閱、欣賞,永久保存。 1.31.3 研究?jī)?nèi)容研究?jī)?nèi)容 在線(xiàn)相冊(cè)系統(tǒng)是一種基于 b/s 架構(gòu)的管理系統(tǒng),它采用目前最流行的 java 語(yǔ)言編寫(xiě),用到了當(dāng)今先進(jìn)的技術(shù)如 jsp 技術(shù)、基于 jsp+servlet+dao 模式在小型應(yīng)用系統(tǒng)中式靈活并穩(wěn)定的架構(gòu),是典型的基于 mvc 模式的架 構(gòu)。同時(shí)采用 mvc 框架技術(shù)也提高了系統(tǒng)的可維護(hù)性。為了自己的發(fā)展, 各個(gè)網(wǎng)站都開(kāi)始尋求適合用戶(hù)使用的電子相冊(cè)系統(tǒng),為此而開(kāi)發(fā)的電子相冊(cè) 管理系統(tǒng)已經(jīng)非常多,并且大部分都是從用戶(hù)使用的角度出發(fā),給用
20、戶(hù)的使 用帶來(lái)了很大的方便。本系統(tǒng)所研究的是從在線(xiàn)相冊(cè)的管理到相冊(cè)的生成等 一系列的問(wèn)題,大致分為:用戶(hù)管理、相片分類(lèi)、相冊(cè)管理、相片的評(píng)論管 理、個(gè)人信息,我的主頁(yè)。 本文共分 5 章,第 1 章是緒論,第 2 章介紹開(kāi)發(fā)本系統(tǒng)所用到的相關(guān)技 術(shù),第 3 章是系統(tǒng)的需求分析及結(jié)構(gòu)圖,第 4 章是相冊(cè)系統(tǒng)的系統(tǒng)實(shí)現(xiàn),第 5 章是總結(jié)。各章節(jié)的研究?jī)?nèi)容如下: (1) 第 1 章主要介紹了選題的背景和意義,論述了系統(tǒng)的國(guó)內(nèi)發(fā)展?fàn)顩r。 (2) 第 2 章主要介紹了實(shí)現(xiàn)在線(xiàn)相冊(cè)系統(tǒng)所用的軟件和系統(tǒng)建設(shè)過(guò)程中 使用的相關(guān)技術(shù)。 (3) 第 3 章主要是在線(xiàn)相冊(cè)系統(tǒng)的需求分析。 (4) 第 4 章是系統(tǒng)的
21、編碼實(shí)現(xiàn),從三層框架的實(shí)現(xiàn),數(shù)據(jù)庫(kù)的創(chuàng)建等方 面介紹了系統(tǒng)的實(shí)現(xiàn)。 (5) 第 5 章主要是此系統(tǒng)的的總結(jié)。 第 2 章 程序技術(shù)相關(guān)知識(shí) 5 第第 2 2 章章 選擇平臺(tái)與架構(gòu)選擇平臺(tái)與架構(gòu) 2.12.1 開(kāi)發(fā)環(huán)境開(kāi)發(fā)環(huán)境 myeclipse 集成開(kāi)發(fā)環(huán)境+mysql5.5+windows。 2.22.2 架構(gòu)架構(gòu) 在 j2ee 應(yīng)用中,基于 jsp+servlet+dao 模式在小型應(yīng)用系統(tǒng)中式靈活并 穩(wěn)定的架構(gòu),是典型的基于 mvc 模式的架構(gòu)。 以 jsp+servlet+service+dao 模式實(shí)現(xiàn),即以 jsp+jstl+el 技術(shù)實(shí)現(xiàn)前 端駛?cè)腼@示層,以 servlet 為頁(yè)
22、面導(dǎo)向控制層、service 為業(yè)務(wù)邏輯層并以 dao 為數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層來(lái)構(gòu)建系統(tǒng)。 2.32.3 運(yùn)行環(huán)境運(yùn)行環(huán)境 本系統(tǒng)采用 tomcat5.5 為服務(wù)器,以 windowsxp 為在線(xiàn)相冊(cè)系統(tǒng)的服務(wù) 器,以目前流行的 mysql 為數(shù)據(jù)庫(kù)服務(wù)前。 2.42.4 本章小結(jié)本章小結(jié) 在本章中主要介紹了軟件開(kāi)發(fā)時(shí)所用的開(kāi)發(fā)工具和相關(guān)的技術(shù),重點(diǎn)介 紹了 java、j2ee 平臺(tái)和 mvc 結(jié)構(gòu)等相關(guān)知識(shí)以。同時(shí)也詳細(xì)介紹了 jsp 的 相關(guān)技術(shù),運(yùn)行環(huán)境及其開(kāi)發(fā)工具。 如果將該系統(tǒng)發(fā)布到流量比較大的網(wǎng)站中應(yīng)用,則可以以 solaris 為在線(xiàn) 相冊(cè)系統(tǒng)的服務(wù)器、以 jboss 為 web 服務(wù)器
23、,以 mysql 為數(shù)據(jù)庫(kù)服務(wù)器 并安裝在 linux 上實(shí)現(xiàn)雙機(jī)備份等穩(wěn)定性和安全性來(lái)實(shí)現(xiàn)。 第第 3 3 章章 電子像冊(cè)系統(tǒng)需求分析電子像冊(cè)系統(tǒng)需求分析 3.13.1 可行性分析可行性分析 .1 系統(tǒng)總體目標(biāo)系統(tǒng)總體目標(biāo) 系統(tǒng)主要是為了給那些對(duì)照片管理感興趣的朋友提供一個(gè)交流的平臺(tái), 對(duì)有很多照片需要管理的朋友,你在這里可以進(jìn)行注冊(cè)成為會(huì)員,添加相片 分類(lèi),上傳自己的照片,也可以瀏覽別人的相冊(cè),還可以修改個(gè)人資料。非 注冊(cè)會(huì)員你可以瀏覽電子相冊(cè)里別人的相片,同時(shí)可以對(duì)相片進(jìn)行評(píng)論。 3.1.2 技術(shù)可行性分析技術(shù)可行性分析 這個(gè)電子相冊(cè)是基于 web 來(lái)開(kāi)發(fā)的,主要運(yùn)用 j
24、sp+servlet+dao 模型在 小型應(yīng)用系統(tǒng)中靈活并穩(wěn)定的框架結(jié)構(gòu),是典型的基于 mvc 模式的框架, 以 mysql 為后臺(tái)數(shù)據(jù)庫(kù),采用 myeclipse 集成開(kāi)發(fā)環(huán)境。通過(guò)它來(lái)構(gòu)建一個(gè) 在線(xiàn)相冊(cè)系統(tǒng),實(shí)現(xiàn)在互聯(lián)網(wǎng)上使用的網(wǎng)絡(luò)相冊(cè)的絕大部分功能,所以對(duì)于 本系統(tǒng)在技術(shù)上是可以達(dá)到的。 3.1.3 功能需求功能需求 本系統(tǒng)應(yīng)該具有相片瀏覽、相片上傳、評(píng)論相片、編輯、刪除相片、用 戶(hù)注冊(cè)、個(gè)人信息修改等功能。 3.1.4 性能需求性能需求 設(shè)備需求:pc 機(jī),windows98/2000/xp 操作系統(tǒng),tomcat 服務(wù)器,采用 mysql 數(shù)據(jù)庫(kù)管理。 3.23.2 系統(tǒng)總體結(jié)構(gòu)系統(tǒng)
25、總體結(jié)構(gòu) 本系統(tǒng)所研究的是在線(xiàn)用戶(hù)發(fā)布相片、將相片歸類(lèi)存放,并允許其他在 線(xiàn)網(wǎng)友欣賞及評(píng)論相片。系統(tǒng)的總體結(jié)構(gòu)如下: (1)用戶(hù)管理:用戶(hù)已用戶(hù)名及密碼登陸注冊(cè),可修改密碼。 (2)相片分類(lèi):添加分類(lèi),刪除分類(lèi),修改分類(lèi),并獲取列表和分頁(yè) (某個(gè)用戶(hù)個(gè)人分類(lèi)) 。 (3)相片管理:用戶(hù)登錄后能發(fā)布并刪除、修改發(fā)布的相片。獲取相片 的列表和分頁(yè)(某個(gè)用戶(hù)某個(gè)分類(lèi)中的相片) ,以縮略圖及全圖兩種模式來(lái)顯 示選擇的某張相片。 (4)相片的評(píng)論管理:在線(xiàn)網(wǎng)友(登陸或游客)能欣賞相片并評(píng)論,相 片的所有者及評(píng)論人能刪除評(píng)論,獲取評(píng)論的列表和分頁(yè)。 第 3 章 電子相冊(cè)系統(tǒng)需求分析 7 (5)上傳及刪除相
26、片文件:使用 jspsmartupload 組件來(lái)實(shí)現(xiàn)相片的上 傳并保存至 web 服務(wù)器中。刪除相片實(shí)現(xiàn)級(jí)聯(lián)刪除:即如果刪除某個(gè)用戶(hù)的 某個(gè)相片分類(lèi),則把此分類(lèi)下的所有相片全部刪除,以維護(hù)數(shù)據(jù)和文件系統(tǒng) 的一致性。 3.2.1 系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu) 圖圖 3-13-1 總體架構(gòu)總體架構(gòu) 3.2.2 用例圖用例圖 用例圖就是把網(wǎng)站各個(gè)用戶(hù)的動(dòng)作分解一下,再用畫(huà)圖軟件把它畫(huà)出來(lái)。 電子相冊(cè)系統(tǒng)的角色之一是注冊(cè)用戶(hù) 用例名稱(chēng):用戶(hù)登錄 執(zhí)行者:用戶(hù) 目的:完成注冊(cè)用戶(hù)登陸后的一系列操作的完整過(guò)程。 (1)用戶(hù)輸入登錄名,密碼,系統(tǒng)識(shí)別用戶(hù)信息的有效性; (2)對(duì)用戶(hù)信息進(jìn)行識(shí)別; (3)用戶(hù)完
27、成相冊(cè)列表,新建相冊(cè)修改資料等一系列操作; (4)退出系統(tǒng)。 在線(xiàn)相冊(cè)平臺(tái) 用 戶(hù) 管 理 相 片 管 理 相 冊(cè) 管 理 退 出 登 錄 評(píng) 論 管 理 圖圖 3-23-2 用例圖用例圖 3.33.3 系統(tǒng)功能模塊結(jié)構(gòu)系統(tǒng)功能模塊結(jié)構(gòu) 在線(xiàn)相冊(cè)系統(tǒng)的目標(biāo)是工在線(xiàn)用戶(hù)發(fā)布相片、將相片歸類(lèi)存放,并允許 其他在線(xiàn)網(wǎng)友欣賞及評(píng)論相片。在線(xiàn)相冊(cè)管理系統(tǒng)分為用戶(hù)管理、相冊(cè)管理 模塊、相片管理模塊、評(píng)論管理模塊。注:注冊(cè)用戶(hù)擁有全部操作權(quán)限,而 如果是未注冊(cè)用戶(hù)只能查看相冊(cè)中的內(nèi)容,沒(méi)有權(quán)力進(jìn)行相應(yīng)的修改。 3.3.1 相片管理模塊相片管理模塊 (1) 業(yè)務(wù)描述:用戶(hù)登錄后能發(fā)布并刪除、修改發(fā)布的相片。
28、(2) 業(yè)務(wù)流程:用戶(hù)可以瀏覽相關(guān)的相冊(cè)的照片,獲取相片的列表和分 頁(yè)(某個(gè)用戶(hù)某個(gè)分類(lèi)中的相片) ,以縮略圖及全圖兩種模式來(lái)顯示選擇的某 張相片,在該頁(yè)面中用戶(hù)可以根據(jù)自己的需要上傳相應(yīng)的圖片,為圖片取名、 分類(lèi),提交后返回相冊(cè)列表。 (3) 輸入數(shù)據(jù):記錄編號(hào)是自增列不顯示在前臺(tái)頁(yè)面;圖片名稱(chēng)、文件 簡(jiǎn)介分別以文本框的形式展示在前臺(tái)頁(yè)面中,由用戶(hù)輸入;圖片的上傳以一 種數(shù)據(jù)流的形式出現(xiàn),出現(xiàn)在前臺(tái)的時(shí)候以一種需要用戶(hù)點(diǎn)擊選擇的形式出 現(xiàn)。 (4) 角色說(shuō)明:此功能主要由注冊(cè)用戶(hù)和非注冊(cè)用戶(hù)使用。 3.3.2 相冊(cè)管理模塊相冊(cè)管理模塊 用戶(hù)主頁(yè) 用戶(hù) 相冊(cè)管理 退出系統(tǒng) 相片管理 用戶(hù)管理
29、評(píng)論管理 用戶(hù)登錄 第 3 章 電子相冊(cè)系統(tǒng)需求分析 9 (1) 業(yè)務(wù)描述:新建相冊(cè),刪除相冊(cè),修改相冊(cè),并獲取列表和分頁(yè) (某個(gè)用戶(hù)個(gè)人分類(lèi)) 。 (2) 業(yè)務(wù)流程:點(diǎn)擊相冊(cè)管理,進(jìn)入相冊(cè)管理的主界面根據(jù)提示輸入相 關(guān)的信息后選擇提交,則可看到剛剛新添加的那個(gè)相冊(cè),然后可以根據(jù)自己 的需要選擇是的操作。 (3) 錯(cuò)誤處理:在填寫(xiě)信息的過(guò)程中不允許有不被填寫(xiě)的欄目,系統(tǒng)會(huì) 給出相應(yīng)的提示。 (4) 輸入數(shù)據(jù):由用戶(hù)輸入相應(yīng)的數(shù)據(jù)信息。 (5) 輸出結(jié)果:其輸出結(jié)果為在相冊(cè)列表中給予相應(yīng)的顯示。 (6) 角色說(shuō)明:此功能主要注冊(cè)用戶(hù)使用。 3.3.3 用戶(hù)管理模塊用戶(hù)管理模塊 (1) 業(yè)務(wù)描述:
30、用戶(hù)以用戶(hù)名及密碼登陸 注冊(cè),可修改密碼。對(duì)注冊(cè) 用戶(hù)來(lái)講,將自己的資料從后臺(tái)數(shù)據(jù)庫(kù)中讀取出來(lái)然后根據(jù)用戶(hù)的需要進(jìn)行 相應(yīng)的修改,根據(jù)用戶(hù)資料采集界面來(lái)采集相應(yīng)的數(shù)據(jù),根據(jù)這些數(shù)據(jù)來(lái)更 新數(shù)據(jù)庫(kù)中該用戶(hù)的相應(yīng)資料。如果是未注冊(cè)的用戶(hù)可根據(jù)提示進(jìn)行注冊(cè)。 (2) 業(yè)務(wù)流程:用戶(hù)登錄后進(jìn)入我的主頁(yè),可以瀏覽相冊(cè)和最新 10 條 相片評(píng)論信息,選擇一相冊(cè)進(jìn)入可以瀏覽相冊(cè)的整個(gè)相片,并查看選中相片 的放大圖以及對(duì)其的評(píng)論信息。同時(shí)還可以查看每條評(píng)論的詳細(xì)信息。 (3) 錯(cuò)誤處理:在填寫(xiě)信息的過(guò)程中不允許有不被填寫(xiě)的欄目,系統(tǒng)會(huì) 給出相應(yīng)的提示。 (4) 輸入數(shù)據(jù):由用戶(hù)輸入相應(yīng)的數(shù)據(jù)信息。 (5) 輸
31、出結(jié)果:無(wú) (6) 角色說(shuō)明:此功能主要注冊(cè)用戶(hù)使用。 3.3.4 評(píng)論管理模塊評(píng)論管理模塊 (1) 業(yè)務(wù)描述:在線(xiàn)網(wǎng)友(登陸或游客)能欣賞相片并評(píng)論,相片的所 有者及評(píng)論人能刪除評(píng)論,獲取評(píng)論的列表和分頁(yè)。 (2) 業(yè)務(wù)流程:進(jìn)入評(píng)論管理界面,每頁(yè)顯示 10 條最新評(píng)論,包括評(píng) 論人大名、所屬照片名、評(píng)論時(shí)間和評(píng)論內(nèi)容,并可以刪除評(píng)論。點(diǎn)擊所屬 照片名,查看詳細(xì)信息,同時(shí)還可以發(fā)表新評(píng)論。 (3) 錯(cuò)誤處理:所有字段必須逐一給出相應(yīng)的數(shù)據(jù)信息。 (4) 輸入數(shù)據(jù):由用戶(hù)輸入相應(yīng)的數(shù)據(jù)信息。 (5) 輸出結(jié)果:評(píng)論信息。 (6) 角色說(shuō)明:此功能主要注冊(cè)用戶(hù)使用。 3.4 數(shù)據(jù)庫(kù)模塊數(shù)據(jù)庫(kù)模塊
32、 本系統(tǒng)中涉及的數(shù)據(jù)庫(kù)主要包括注冊(cè)用戶(hù)、相片分類(lèi)、相片信息及評(píng)論 信息。 注冊(cè)用戶(hù)信息表保存在線(xiàn)相冊(cè)系統(tǒng)的注冊(cè)用戶(hù)的基本信息,包括用戶(hù)名、 昵稱(chēng)、密碼及注冊(cè)時(shí)間等,如表 3-1 所示。 表表 3-13-1 注冊(cè)用戶(hù)信息表(注冊(cè)用戶(hù)信息表(userinfouserinfo) 名稱(chēng)類(lèi)型含義說(shuō)明 useridint(8)主鍵 usernamevarchar(100)登錄用戶(hù)名not null passwordvarchar(100)用戶(hù)密碼 nicknamevarchar(255)用戶(hù)昵稱(chēng) addtimedatetime注冊(cè)時(shí)間 相片分類(lèi)只有 4 個(gè)字段:即主鍵、分類(lèi)名稱(chēng)、描述信息及所屬的用戶(hù) id
33、。如表 3-2。 表表 3-23-2 相片分類(lèi)信息(相片分類(lèi)信息(categorycategory) 名稱(chēng)類(lèi)型含義說(shuō)明 categoryridint(8)主鍵 namevarchar(50)分類(lèi)名稱(chēng)not null memovarchar(255)分類(lèi)描述 useridintr(8)所屬用戶(hù) id關(guān)聯(lián)到 userinfo 表的 userid 相片信息表用于保存用戶(hù)相片及其相關(guān)信息,包括相片標(biāo)題、相片簡(jiǎn)介、 相片上傳時(shí)間、相片所屬分類(lèi)、相片保存的地址,以及相片的文件名。其中, 第 3 章 電子相冊(cè)系統(tǒng)需求分析 11 相片保存的地址及文件名是附加信息:相片文件名是用來(lái)記錄用戶(hù)上傳相片 時(shí)原相片文件
34、的名稱(chēng),用于用戶(hù)瀏覽或下載相片時(shí)讓 web 瀏覽器顯示文件名, 以供用戶(hù)使用;文件類(lèi)型信息指的是相片文件的格式類(lèi)型,在顯示相片時(shí)會(huì) 用到。如表 3-3。 表表 3-33-3 相冊(cè)信息表(相冊(cè)信息表(photophoto) 名稱(chēng)類(lèi)型含義說(shuō)明 photoidint(8)主鍵 titlevarchar(50)相片標(biāo)題 memovarchar(255)相片描述 catrgroyidint(8)相片分類(lèi)關(guān)聯(lián)到 category 表的 categoryid urlvarchar(100)相片保存地址 pubtimedatetime相片上傳或最新修改 時(shí)間 filenameintr(8)所屬用戶(hù) id 評(píng)論
35、信息表則是網(wǎng)絡(luò)相冊(cè)的一大特征,用于保存網(wǎng)友對(duì)相片的評(píng)論信息。 一張相片可能會(huì)有多條評(píng)價(jià)信息,因此應(yīng)該保存平困的相片 id、評(píng)論時(shí)間、 評(píng)論人的名稱(chēng)(或匿名)以評(píng)論的文字信息等。如表 3-4。 表表 3-43-4 評(píng)論信息表(評(píng)論信息表(commentcomment) 名稱(chēng)類(lèi)型含義說(shuō)明 commentidint(8)主鍵 photoidint(8)相片 id關(guān)聯(lián)到 photo 表的 photoid addnamevarchar(100)評(píng)論人姓名 addtimedatetime評(píng)論時(shí)間 commentvarchar(255)評(píng)論內(nèi)容 3.5 本章小結(jié)本章小結(jié) 本章詳細(xì)描述了系統(tǒng)的體系結(jié)構(gòu),對(duì)系統(tǒng)
36、進(jìn)行了簡(jiǎn)單的可行性分析,確 定了各子系統(tǒng)要完成的功能,詳細(xì)介紹了系統(tǒng)的各個(gè)重要模塊的需求,同時(shí) 給出了各子功能系統(tǒng)流程圖。 ,并初步得到了系統(tǒng)模型和功能模塊劃分,通過(guò) 本章中描述的系統(tǒng)體系,接下來(lái)的任務(wù)是根據(jù)本章的敘述進(jìn)行詳細(xì)具體的設(shè) 計(jì)實(shí)現(xiàn)。 第 4 章 系統(tǒng)實(shí)現(xiàn) 13 第第 4 4 章章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) 系統(tǒng)階段的根本目標(biāo)是確定應(yīng)該怎樣具體的實(shí)現(xiàn)所要求的系統(tǒng),也就是 說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編 碼階段可以把這個(gè)描述直接翻譯成某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。本章主要 實(shí)現(xiàn)了各個(gè)模塊的具體功能。 4.1 注冊(cè)用戶(hù)登陸設(shè)計(jì) 注冊(cè)用戶(hù)登陸的界面設(shè)計(jì)要簡(jiǎn)潔明,登
37、陸有一個(gè)主頁(yè)面,首先進(jìn)行的是 驗(yàn)證,判斷登陸者的權(quán)限,注冊(cè)用戶(hù)登陸界面如圖 4-1 所示。 圖圖 4-14-1 注冊(cè)用戶(hù)登陸注冊(cè)用戶(hù)登陸 4.1.1 注冊(cè)用戶(hù)登陸界面的創(chuàng)建注冊(cè)用戶(hù)登陸界面的創(chuàng)建 在頁(yè)面表現(xiàn)上,采用 css 樣式表的方式,用記事本編寫(xiě)一個(gè) css 文件 (style.css),每個(gè) jsp 頁(yè)面都引入這個(gè)文件,這樣當(dāng)需要變更頁(yè)面圖片背景等 靜態(tài)屬性時(shí),就直接修改 css 文件,而無(wú)需對(duì)頁(yè)面本身進(jìn)行任何改動(dòng),大大 提高效率,除此之外,本系統(tǒng)平臺(tái)引入了現(xiàn)在網(wǎng)絡(luò)上較為流行 ajax 的驗(yàn)證碼 機(jī),也就是說(shuō)注冊(cè)用戶(hù)除了給出用戶(hù)名和密碼外還要另再填入給出的驗(yàn)證碼 (這里的驗(yàn)證碼是查看用戶(hù)
38、是否已存在)點(diǎn)擊登陸才能以用戶(hù)的身份進(jìn)入在線(xiàn) 相冊(cè)的主界面。 .2 注冊(cè)用戶(hù)登陸界面注冊(cè)用戶(hù)登陸界面 注冊(cè)用戶(hù)進(jìn)入時(shí),其登陸成功界面如下:(這里以 2006112103 為用戶(hù)名 登陸舉例) 圖圖 4-24-2 注冊(cè)用戶(hù)登陸注冊(cè)用戶(hù)登陸 設(shè)計(jì)思想: 用戶(hù)登錄模塊,該模塊需要確認(rèn)二部分信息,首先得確認(rèn)系統(tǒng)用戶(hù)的身 份,是否存在該用戶(hù),其次,若該用戶(hù)存在則判斷用戶(hù)的密碼,兩部分信息 都正確則登陸到系統(tǒng)主頁(yè)面。 登陸界面是 web 應(yīng)用項(xiàng)目中的大門(mén),它能讓用戶(hù)訪(fǎng)問(wèn) web 項(xiàng)目中的功 能。 .3 實(shí)現(xiàn)過(guò)程實(shí)現(xiàn)過(guò)程 在注冊(cè)用戶(hù)登陸的 login.jsp 界面中: log
39、inservlett.java package jspbook.webalbum.servlet; 第 4 章 系統(tǒng)實(shí)現(xiàn) 15 public class loginservlet extends javax.servlet.http.httpservlet implements javax.servlet.servlet static final long serialversionuid = 1l; public loginservlet() super(); protected void doget(httpservletrequest request, httpservletrespon
40、se response) throws servletexception, ioexception / todo auto-generated method stub dopost(request,response); protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception / todo auto-generated method stub servletencoding.setencoding(request, re
41、sponse); userinfo userinfo=new userinfo(); userinfo.setusername(request.getparameter(username); userinfo.setpassword(request.getparameter(password); userinfo=userinfodao.login(userinfo); httpsession session=request.getsession(); requestdispatcher requestdispatcher=null; /response.getwriter().print(r
42、equest.getquerystring(); if(userinfo=null) /設(shè)置返回路徑和錯(cuò)誤信息 request.setattribute(returnurl, login.jsp); request.setattribute(errormessage, 帳號(hào)或者密碼不正確!); requestdispatcher=request.getrequestdispatcher(error.jsp); /servletcontext sc=this.getservletcontext().setattribute(, arg1) response.getwriter().print(r
43、equest.getrequesturi(); else session.setattribute(userinfo, userinfo); requestdispatcher=request.getrequestdispatcher(getdefaultinfo?userid=+u serinfo.getuserid(); requestdispatcher.forward(request, response); 從上面的代碼可以看出如果返回的是真值也就是說(shuō)驗(yàn)證正確的話(huà)會(huì)跳轉(zhuǎn)到 loginservlet。在 loginservlet 的 dopost()中首先設(shè)置編碼格式為”gb2312”,
44、 然后去的 login.jsp 中 username 和 password 的輸入信息,并通過(guò) userinfodao 的 login()方法來(lái)驗(yàn)證登錄用戶(hù)是否已經(jīng)注冊(cè)并核對(duì)密碼信 息。如果返回的 userinfo 對(duì)象不為空,這表示驗(yàn)證成功。把頁(yè)面控制給 url 為/getdefaultinfo,并附上 userid 的 request 信息。 getdefaultinfo 目的是在想系統(tǒng)主頁(yè)面中顯示相片的用戶(hù)信息、所有相 片的分類(lèi)信息、每個(gè)相冊(cè)的相片數(shù)目以及最新評(píng)論信息等關(guān)鍵信息。因此在 dopost()方法中,首先從 request 中得到登錄相冊(cè)的當(dāng)前用戶(hù)的 userid,把 查詢(xún)到的
45、 userinfo 對(duì)象保存在 request 范圍中共 jsp 調(diào)用并通過(guò) userid 查詢(xún)?cè)?用戶(hù)的所有相冊(cè)集相冊(cè)數(shù)目。然后把查詢(xún)到的最新的 10 條評(píng)論信息保存到 list 中,并把這些信息保存到 request 中以供 jsp 頁(yè)面顯示。 通過(guò)其中粗體表示的 div class 可以知道該 jsp 主要實(shí)現(xiàn)顯示用戶(hù)信息、 最新評(píng)論及用戶(hù)的相冊(cè)。其中使用 jstl 中的元素來(lái)迭代 commentlist 及 categorylist,并且使用 el 語(yǔ)句來(lái)顯示各項(xiàng)內(nèi)容。 在本系統(tǒng)的 web.xml 文件中我們定義了各個(gè) servlet 的相關(guān)信息,包括 servlet 的名稱(chēng)、類(lèi)路徑及
46、 url 映射名。在 jsp 及訪(fǎng)問(wèn)木椅 servlet 是,均要使 用此 servlet 的 url 映射名。由映射名找到 servlet 的類(lèi)路徑,從而導(dǎo)向至 servlet。 在 jsp 頁(yè)面中,使用了一些公共的方法,這些方法定義在 第 4 章 系統(tǒng)實(shí)現(xiàn) 17 webalbum/webroot/js/adjax.js 及 common.js 中另外有關(guān) jsp 的布局類(lèi)定義在 webalbun/webroot/css/style.css 中。 4.2 未注冊(cè)用戶(hù)注冊(cè)設(shè)計(jì) 未注冊(cè)用戶(hù)登陸的界面設(shè)計(jì)要簡(jiǎn)潔明,注冊(cè)有一個(gè)主頁(yè)面,首先進(jìn)行的 是填寫(xiě)注冊(cè)信息,然后進(jìn)行提交操作。 圖圖 4-34-3
47、 未注冊(cè)用戶(hù)注冊(cè)未注冊(cè)用戶(hù)注冊(cè) 驗(yàn)證用戶(hù)javascript function changefieldtoquerystring(formname,fieldname) var args=; var form=document.formsformname; args=form.elementsfieldn+=+form.elementsfieldname.value; return args; /-將表單上某個(gè)字段的值發(fā)送到服務(wù)器端,并返回結(jié)果 function sendfieldtoserver(formname,fieldname,servletname) sendmess
48、agetoserver(servletname,changefieldtoquerystring(formname,fieldname); 未注冊(cè)用戶(hù)注冊(cè)界面的創(chuàng)建 在頁(yè)面表現(xiàn)上,采用 css 樣式表的方式,用記事本編寫(xiě)一個(gè) css 文件 (style.css),每個(gè) jsp 頁(yè)面都引入這個(gè)文件,這樣當(dāng)需要變更頁(yè)面圖片背景等 靜態(tài)屬性時(shí),就直接修改 css 文件,而無(wú)需對(duì)頁(yè)面本身進(jìn)行任何改動(dòng),大大 提高效率。該模塊完成用戶(hù)注冊(cè)的過(guò)程,用戶(hù)注冊(cè)后才能完成圖書(shū)訂閱等功 能。 流程分析本模塊包含二個(gè)文件,adduser.jsp 完成用戶(hù)注冊(cè)信息錄入; david.js 完成檢查數(shù)據(jù)的可靠性,符合要求
49、的數(shù)據(jù)寫(xiě)入 userinfo 數(shù)據(jù)表。 在這個(gè)模塊里,用戶(hù)可以輸入“用戶(hù)名”, “昵稱(chēng)”, “密碼”, “重復(fù)密碼”,然 后單擊“注冊(cè)”按鈕提交注冊(cè)信息,如果注冊(cè)所用的用戶(hù)名已經(jīng)存在于數(shù)據(jù)庫(kù) 中,系統(tǒng)會(huì)報(bào)錯(cuò)。如果用戶(hù)數(shù)據(jù)的“新密碼”和“新密碼確認(rèn)”內(nèi)容不一致,系 統(tǒng)也會(huì)報(bào)錯(cuò)。用戶(hù)一旦通過(guò)注冊(cè)。就在數(shù)據(jù)庫(kù)中存儲(chǔ)了該用戶(hù)的注冊(cè)信息, 該用戶(hù)就可以憑此信息進(jìn)行登錄。 4.3 相冊(cè)列表 添加相冊(cè)的界面設(shè)計(jì)要簡(jiǎn)潔明,添加相冊(cè)有一個(gè)主頁(yè)面,首先要進(jìn)行相 應(yīng)的數(shù)據(jù)輸入,然后提交操作 相冊(cè)列表有兩種方式,一種是通過(guò) defaultinfo.jsp 主頁(yè)面中的分類(lèi)列表或 “相冊(cè)管理”來(lái)竟如相應(yīng)相冊(cè)的相片列表:另
50、一種是直接竟如“相片管理” 來(lái)列出所有的相片列表。下面好似幾個(gè)主要的 servlet 使命。 (1)getcategoriseservlet.java:去的登錄用戶(hù)的相冊(cè),并把頁(yè)面導(dǎo)向至 categorylist.jsp,即“相冊(cè)管理”頁(yè)面。 (2)getphotoservlet.java:取得用戶(hù)的所有相冊(cè)并實(shí)現(xiàn)分頁(yè)功能,把頁(yè) 面導(dǎo)向至 photolist.jsp,即“相片管理”頁(yè)面。如圖 4-4 第 4 章 系統(tǒng)實(shí)現(xiàn) 19 圖圖 4-44-4 相冊(cè)下的所有相片列表相冊(cè)下的所有相片列表 (3)getphotos.java:取得用戶(hù)指定的相冊(cè)下的所有相片列表并實(shí)現(xiàn)發(fā) 布功能,把頁(yè)面導(dǎo)向至 ph
51、otolisttoall.jsp。如圖 4-5 圖圖 4-54-5 相冊(cè)下的相片列表頁(yè)面相冊(cè)下的相片列表頁(yè)面 如代碼實(shí)現(xiàn)了查詢(xún)給用戶(hù)制定的相關(guān)相冊(cè)下的所有相片信息,并用 list 保存在 request 中。然后需要分頁(yè)顯示的一些相關(guān)數(shù)目,如當(dāng)前頁(yè),相片總頁(yè) 數(shù),總相片數(shù)及當(dāng)前相片顯示書(shū)目等。photolist.jsp 的代碼 $【$category.photonum 張照片】 $category.addtime 新建相冊(cè) $category.memo 第 4 章 系統(tǒng)實(shí)現(xiàn) 21 刪除相冊(cè) 修改相 冊(cè) 在 photolist.jsp 中首先對(duì) requestscope
52、 中的 photolist 使用迭 代 photo 信息并顯示相片的縮略圖,其后實(shí)現(xiàn)分頁(yè)。 getphotos 與 getphotosservlet.java 相似,唯一不同之處在于前者是正對(duì) 用戶(hù)的某一相冊(cè)下的所有相片的列表,后者是正對(duì)給用戶(hù)的所有相片列表。 4.4 添加相片 給系統(tǒng)中的上傳相片時(shí)關(guān)鍵功能,是先方法是把上傳的相片文件以文件 形式保存在 web 應(yīng)用程序下的 webroot/photos 目錄下。對(duì)每張相片,以用 戶(hù)注冊(cè)的用戶(hù)名(username)及向南偏的所屬相冊(cè)的 categoryid 來(lái)新建二級(jí) 目錄,然后再目錄下保存相片,相片文件的名稱(chēng)仍使用上傳的文件名。例如, 用戶(hù)名
53、為“2006112101”的相冊(cè) id 為 2 的相片文件應(yīng)上傳保存在 webroot/photos/2006112101/2/目錄下。 上傳相片功能的主要流程如下: (1)取得用戶(hù)提交的數(shù)據(jù),生成要保存的 photo 對(duì)象。 (2)把 photo 相片文件上傳至 web 服務(wù)器保存。 (3)保存(增加或修改)相片的信息至數(shù)據(jù)庫(kù)。 (4)根據(jù)上傳的相片及保存信息的結(jié)果設(shè)置不同的提示結(jié)果。 (5)跳轉(zhuǎn)至相片顯示或主頁(yè)面的 servlet。 上傳相片的頁(yè)面實(shí)現(xiàn)由 addphoto.jsp 在 addphoto.jsp 頁(yè)面中,使用“file”型的瀏覽文件組件來(lái)供用戶(hù)選擇相 片文件進(jìn)行上傳,而所屬相
54、冊(cè)則是當(dāng)前用戶(hù)的所有相冊(cè)列表。 由于用戶(hù)在 addphoto.jsp 提交的數(shù)據(jù)中包括了相片文件的信息,所以不 能直接使用 getparameter()方法來(lái)獲得用戶(hù)提交的文件信息。因此需要使用 第三方提供的一個(gè)組件來(lái)完成這個(gè)功能。在這里選用的是 jspsmartupload 組 件,他是在前面章節(jié)中介紹過(guò)的專(zhuān)門(mén)用來(lái)處理文件上傳下載的組件。 使用這個(gè)包來(lái)上傳相片文件需要在生成 jspsmartupload 對(duì)象并初始化一 些參數(shù)。 (1)允許用戶(hù)上傳的文件類(lèi)型及文件的最大值,即超出文件類(lèi)型范圍或 文件的最大值的相片文件不能上傳到服務(wù)器,這主要是基于安全和性能方面 的考慮。 (2)使用 smar
55、tupload 對(duì)象的 getrequest()方法來(lái)取得用戶(hù)提交的相 片文件的請(qǐng)求信息,并通過(guò) com.jspsmart.upload.request 類(lèi)的 getparameter(string paraname)方法來(lái)解析請(qǐng)求信息。 (3)需要根據(jù)用戶(hù)名及相冊(cè) id 在服務(wù)器端構(gòu)造相片的保存目錄,并設(shè) 置保存文件的文件。在本例中,我們要使用基于 web 應(yīng)用程序的相對(duì)路徑方 式來(lái)保存文件,故采用 save_virtual 來(lái)保存文件。上傳圖片頁(yè)面如圖 4- 6 示。 第 4 章 系統(tǒng)實(shí)現(xiàn) 23 圖圖 4-64-6 上傳相片頁(yè)面上傳相片頁(yè)面 首先使用 jspsmartupload 上傳組件
56、來(lái)上傳圖片至服務(wù)器,上傳成功后把 相片信息保存至數(shù)據(jù)表 photo 中,這兩步成功后才返回成功添加相片的信息。 在頁(yè)面表現(xiàn)上,采用 css 樣式表的方式,用記事本編寫(xiě)一個(gè) css 文件 (style.css),每個(gè) jsp 頁(yè)面都引入這個(gè)文件,這樣當(dāng)需要變更頁(yè)面圖片背景等 靜態(tài)屬性時(shí),就直接修改 css 文件,而無(wú)需對(duì)頁(yè)面本身進(jìn)行任何改動(dòng),大大 提高效率,在頁(yè)面步局和設(shè)計(jì)方面在此就不多加以介紹。下面的部分中主要 介紹一下具體的實(shí)現(xiàn)過(guò)程。 addphotoservlet.java package jspbook.webalbum.servlet; public class addphotoser
57、vlet extends httpservlet implements javax.servlet.servlet static final long serialversionuid = 1l; public addphotoservlet() super(); protected void doget(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception / todo auto-generated method stub dopost(req, resp); protec
58、ted void dopost(httpservletrequest req, httpservletresponse resp) throws servletexception, ioexception todo auto-generated method stub / 改變編碼 servletencoding.setencoding(req, resp); httpsession session = req.getsession(); printwriter out=resp.getwriter(); if (session.getattribute(userinfo) = null) /
59、 session 中沒(méi)有保存用戶(hù)信息 requestdispatcher requestdispatcher = req .getrequestdispatcher(login.jsp); requestdispatcher.forward(req, resp); else doexecute(req, resp); public void destroy() / todo auto-generated method stub public void init() throws servletexception / todo auto-generated method stub public
60、void doexecute(httpservletrequest request, httpservletresponse response) throws ioexception, servletexception / todo auto-generated method stub servletencoding.setencoding(request, response); hashtable paratable = photoupload.uploadphoto(request.getsession().getservletcontext(), request,response,des
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛州師范高等專(zhuān)科學(xué)校《高級(jí)業(yè)績(jī)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南師范大學(xué)科技學(xué)院《健美運(yùn)動(dòng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 預(yù)防艾滋病安全教育課件
- 贛東學(xué)院《可持續(xù)發(fā)展》2023-2024學(xué)年第一學(xué)期期末試卷
- 中小學(xué)生電腦制作課件
- 七年級(jí)語(yǔ)文上冊(cè)單元清二新人教版
- 七年級(jí)道德與法治上冊(cè)第二單元友誼的天空第五課交友的智慧第1框讓友誼之樹(shù)常青說(shuō)課稿新人教版
- 三年級(jí)數(shù)學(xué)上冊(cè)6多位數(shù)乘一位數(shù)綜合與實(shí)踐數(shù)字編碼導(dǎo)學(xué)案新人教版
- 三年級(jí)科學(xué)上冊(cè)第三單元天氣與我們的生活第十七課大雁南飛教案青島版
- 2022年?yáng)|北林業(yè)大學(xué)自考英語(yǔ)(二)練習(xí)題(附答案解析)
- 數(shù)據(jù)中心供電系統(tǒng)應(yīng)用方案
- (正式版)SH∕T 3507-2024 石油化工鋼結(jié)構(gòu)工程施工及驗(yàn)收規(guī)范
- 中東及非洲注塑成型模具行業(yè)現(xiàn)狀及發(fā)展機(jī)遇分析2024-2030
- 牡丹江2024年黑龍江牡丹江醫(yī)科大學(xué)招聘109人筆試歷年典型考題及考點(diǎn)附答案解析
- 貴州省黔西南布依族苗族自治州2023-2024學(xué)年六年級(jí)下學(xué)期6月期末語(yǔ)文試題
- 泰州市2022-2023學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題【帶答案】
- JGJ276-2012 建筑施工起重吊裝安全技術(shù)規(guī)范 非正式版
- 2019電子保單業(yè)務(wù)規(guī)范
- 學(xué)堂樂(lè)歌 說(shuō)課課件-2023-2024學(xué)年高中音樂(lè)人音版(2019) 必修 音樂(lè)鑒賞
- 幕墻工程材料組織、運(yùn)輸裝卸和垂直運(yùn)輸方案
- 灌溉用水循環(huán)利用技術(shù)
評(píng)論
0/150
提交評(píng)論