版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE1JSP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)設(shè)計(jì)說(shuō)明書姓名:程超學(xué)號(hào):20111130102班級(jí):11軟件技術(shù)指導(dǎo)教師:蘇秀芝完成日期:2012.12.21
目錄10349一、網(wǎng)站概述 1236261.1開發(fā)背景 1307731.2系統(tǒng)環(huán)境 1115501.2.1開發(fā)環(huán)境及使用工具 199421.2.2運(yùn)行環(huán)境 16406二、系統(tǒng)設(shè)計(jì) 2272272.1需求分析 2278672.1.1功能描述 2305442.1.2系統(tǒng)結(jié)構(gòu) 34522.2用例分析 31501三、數(shù)據(jù)庫(kù)設(shè)計(jì) 5277473.1數(shù)據(jù)庫(kù)關(guān)系圖 522583.2數(shù)據(jù)庫(kù)表 626083.2.1命名約定 6281683.2.2數(shù)據(jù)表結(jié)構(gòu) 71756四、架構(gòu)設(shè)計(jì) 8150344.1分層概述 84464.2系統(tǒng)架構(gòu)圖 911211五、模塊設(shè)計(jì)與實(shí)現(xiàn) 9316255.1前臺(tái)模塊 92735.1.1會(huì)員注冊(cè) 9140515.1.2會(huì)員登錄 1251485.1.3圖書管理 14190985.1.4購(gòu)物管理 1676975.1.5個(gè)人管理 19231725.2后臺(tái)模塊 20280555.2.1管理員登錄 20215775.2.2類別管理 2153485.2.3圖書管理 21142555.2.4會(huì)員管理 2365045.2.5訂單管理 24281945.2.6個(gè)人管理 2514767六、設(shè)計(jì)總結(jié) 265001七、參考文獻(xiàn) 28PAGE1濱海在線書店設(shè)計(jì)說(shuō)明書一、網(wǎng)站概述1.1開發(fā)背景2012年是中國(guó)先進(jìn)文化大發(fā)展的一年,莫言成為了中國(guó)首位諾貝爾文學(xué)獎(jiǎng)的獲得者,中國(guó)也隨之掀起了一股購(gòu)書熱潮。過(guò)去人們想要讀書只能去書店買,去圖書館借,而現(xiàn)在的互聯(lián)網(wǎng)時(shí)代,電子商務(wù)的出現(xiàn)極大的改變了消費(fèi)者的觀點(diǎn),人們已經(jīng)不需要在跑到書店買書了。如果想看一本書,只需要打開瀏覽器,去淘寶,當(dāng)當(dāng),京東這些出名的電子商務(wù)網(wǎng)站上,輸入上你想看的書名,各種版本的書籍盡在你的眼底。為了追趕當(dāng)今世界電子商務(wù)的腳步,我們?yōu)I海也不能掉了隊(duì),所以現(xiàn)在急需開發(fā)出一款基于B/S架構(gòu)的濱海在線購(gòu)書系統(tǒng),來(lái)滿足我校廣大師生購(gòu)書的需求?!盀I海在線書店”網(wǎng)站就是在此背景之下進(jìn)行開發(fā)的。1.2系統(tǒng)環(huán)境1.2.1開發(fā)環(huán)境及使用工具本購(gòu)書系統(tǒng)采用B/S架構(gòu),在windows7平臺(tái)和JDK1.6環(huán)境下進(jìn)行開發(fā)。服務(wù)器端采用Java語(yǔ)言,Java語(yǔ)言是目前世界上使用最為廣泛的開發(fā)語(yǔ)言,具有強(qiáng)大的跨平臺(tái)特性,保證了系統(tǒng)可在Linux,Unix和windows等主流服務(wù)器平臺(tái)上部署運(yùn)行。編碼工具使用了MyEclipse8.5,界面設(shè)計(jì)工具使用了Dreamweaver8.0、Photoshop和Flash等。數(shù)據(jù)庫(kù)采用的是mysql5.5,應(yīng)用服務(wù)器采用tomcat6.0,在數(shù)據(jù)量和并發(fā)量不大的情況下足以支撐整個(gè)系統(tǒng)。數(shù)據(jù)庫(kù)建模工具采用了ERStudio,UML建模工具采用了TrufunPlato和MicrosoftVisio2010。1.2.2運(yùn)行環(huán)境本系統(tǒng)可在安裝了Firefox,Chrome,IE等主流瀏覽器的PC上正常運(yùn)行。二、系統(tǒng)設(shè)計(jì)2.1需求分析2.1.1功能描述會(huì)員功能:會(huì)員注冊(cè):游客需要通過(guò)注冊(cè),填寫個(gè)人信息,成為系統(tǒng)會(huì)員,注冊(cè)成功之后才可進(jìn)入系統(tǒng)進(jìn)行購(gòu)書。會(huì)員登錄:輸入正確的登錄名,密碼和驗(yàn)證碼進(jìn)行登錄。圖書管理:當(dāng)會(huì)員進(jìn)入在線書店系統(tǒng)后,在主頁(yè)中顯示推薦圖書頁(yè)面,只有四中類別可以為熱點(diǎn)類別,熱點(diǎn)類別中的四種推薦書籍可以在主頁(yè)顯示。也可選購(gòu)圖書,會(huì)員可以通過(guò)輸入圖書的關(guān)鍵字進(jìn)行搜索,關(guān)鍵字可以是圖書名的一部分,也可以通過(guò)選擇類別進(jìn)行分類搜索。會(huì)員可以通過(guò)點(diǎn)擊詳細(xì)信息查看圖書 的所有詳細(xì)信息。購(gòu)物管理:當(dāng)會(huì)員選擇購(gòu)買某圖書時(shí),應(yīng)該可以將對(duì)應(yīng)商品的基本信息(例如書名、數(shù)量等)記錄到我的購(gòu)物車中,點(diǎn)擊繼續(xù)購(gòu)買可以繼續(xù)選購(gòu)圖書,點(diǎn)擊清空購(gòu)物車可以把購(gòu)物車?yán)锏膱D書全部刪除,點(diǎn)擊結(jié)算按鈕可以跳轉(zhuǎn)到確認(rèn)訂單界面,在確認(rèn)訂單界面應(yīng)該展現(xiàn)出訂單的詳細(xì)信息并要求會(huì)員填寫自己的收貨地址以方便配送。個(gè)人管理:會(huì)員可以修改除了登錄名以外的其他任何信息,比如電話,郵箱等。會(huì)員也可通過(guò)輸入原密碼和新密碼進(jìn)行更改密碼,原密碼輸入正確之后修改密碼成功。管理員功能:類別管理:管理員可以添加一個(gè)新的圖書類別,并可以指定該類別是否為熱點(diǎn)類別的圖書,管理員可以通過(guò)類別關(guān)鍵字搜索到圖書的類別編號(hào),名稱以及是否為熱點(diǎn)類別。圖書管理:管理員可以通過(guò)輸入書名,作者,上傳圖書圖片等添加圖書到數(shù)據(jù)庫(kù),管理員可以檢索所有的圖書信息,也可以通過(guò)關(guān)鍵字檢索和類型檢索,管理員可以修 改或刪除任意一本圖書。會(huì)員管理:管理員可以通過(guò)輸入會(huì)員名字的關(guān)鍵字進(jìn)行會(huì)員信息查詢,并可以刪除任意的會(huì)員。訂單管理:管理員可以查看所有的訂單的所有信息,還可以查看每一個(gè)訂單的具體的訂單項(xiàng)內(nèi)容,也可以刪除任意一個(gè)會(huì)員的訂單。個(gè)人管理:管理員可以通過(guò)輸入原密碼和新密碼進(jìn)行密碼修改。管理員登錄:輸入正確的登錄名,密碼和驗(yàn)證碼進(jìn)行登錄。2.1.2系統(tǒng)結(jié)構(gòu)根據(jù)系統(tǒng)功能分析描述,系統(tǒng)功能結(jié)構(gòu)圖如下圖所示:圖2.1濱海在線書店系統(tǒng)結(jié)構(gòu)圖2.2用例分析濱海在線書店系統(tǒng)的分為前臺(tái)(會(huì)員)和后臺(tái)(管理員),從系統(tǒng)整體角度分析,濱海在線書店系統(tǒng)的用例圖下圖所示:圖2.2濱海在線書店系統(tǒng)用例圖從管理員角度分析,后臺(tái)功能模塊的用例圖如下圖所示:圖2.3濱海在線書店后臺(tái)(管理員)模塊用例圖從會(huì)員角度分析,前臺(tái)功能模塊的用例圖如下圖所示:圖2.4濱海在線書店前臺(tái)(會(huì)員)模塊用例圖三、數(shù)據(jù)庫(kù)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)關(guān)系圖濱海在線書店系統(tǒng)由會(huì)員(Customer),管理員(Admin),圖書(Book),圖書類別(Type),訂單(Orders),訂單項(xiàng)(OrderItem)6個(gè)實(shí)體組成,由于本系統(tǒng)采用MVC模式開發(fā),所以每一個(gè)實(shí)體都對(duì)應(yīng)Model層下Entity層的一個(gè)實(shí)體類,其類組成和實(shí)體關(guān)系如下圖:圖3.1Entity層的類組成圖3.2數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖3.2數(shù)據(jù)庫(kù)表3.2.1命名約定數(shù)據(jù)庫(kù)的命名約定:項(xiàng)目名+開發(fā)人員名稱的首字母簡(jiǎn)寫,本系統(tǒng)數(shù)據(jù)庫(kù)名為bookshopcc。數(shù)據(jù)庫(kù)表的命名約定:與項(xiàng)目中Model層下實(shí)體類的名字一致,例如項(xiàng)目中Customer.java為一個(gè)實(shí)體類,數(shù)據(jù)庫(kù)中Customer為與其對(duì)應(yīng)的數(shù)據(jù)庫(kù)表。數(shù)據(jù)表字段的命名約定:數(shù)據(jù)表名首字母_字段名,例如Customer表的password字段命名為c_passsword。數(shù)據(jù)表中外鍵字段的命名約定:數(shù)據(jù)表中所有的外鍵字段名都與被參考的表的外鍵字段名相同,例如Book表中的類別編號(hào)t_id字段就與Type表中的t_id字段名一致。約束命名約定:約束類型_表名_被約束字段名,例如Customer表的主鍵約束名為pk_customer_c_id。索引命名約定:index_索引類型_表名_字段名,例如Type表的t_id字段為聚集索引,命名為index_clustered_Type_t_id。3.2.2數(shù)據(jù)表結(jié)構(gòu)Customer會(huì)員表:共10個(gè)字段,其中c_id為主鍵,自增長(zhǎng)。如下圖所示:圖3.3Customer表結(jié)構(gòu)Admin管理員表:共4個(gè)字段,其中a_id為主鍵,自增長(zhǎng)。圖3.4Admin表結(jié)構(gòu)Type圖書類別表:共3個(gè)字段,其中t_id為主鍵,自增長(zhǎng)。圖3.5Type表結(jié)構(gòu)Book圖書表:共11個(gè)字段,其中b_id為主鍵,自增長(zhǎng)。t_id為外鍵,參考type表t_id字段。圖3.6Book表結(jié)構(gòu)Orders訂單表:共10個(gè)字段,其中o_id為主鍵,自增長(zhǎng)。c_id為外鍵,參考Customer表c_id字段。圖3.7Orders表結(jié)構(gòu)OrderItem訂單項(xiàng)表:共6個(gè)字段,其中oi_id為主鍵,自增長(zhǎng)。o_id為外鍵,參考Orders表o_id字段,b_id為外鍵,參考Book表b_id字段。圖3.8OrderItem表結(jié)構(gòu)四、架構(gòu)設(shè)計(jì)4.1分層概述濱海在線書店系統(tǒng)架構(gòu)采用的是web開發(fā)最流行的MVC模式的三層架構(gòu)模式,MVC模式使界面和業(yè)務(wù)邏輯完全分離,降低了程序的耦合度,利于日后的擴(kuò)展和維護(hù)。界面層:所有的jsp頁(yè)面和html頁(yè)面,負(fù)責(zé)把數(shù)據(jù)展現(xiàn)到網(wǎng)頁(yè)上??刂破鳎篶ontroller包下的所有Servlet做控制器,負(fù)責(zé)接受客戶端發(fā)送的請(qǐng)求,調(diào)用Service處理數(shù)據(jù)并根據(jù)處理結(jié)果進(jìn)行相應(yīng)的頁(yè)面跳轉(zhuǎn)。業(yè)務(wù)層:service包下提供一系列處理業(yè)務(wù)邏輯的接口,service.impl包下的類來(lái)實(shí)現(xiàn)這些接口,處理具體的業(yè)務(wù)邏輯,做業(yè)務(wù)層。實(shí)體層:entity包下提供了數(shù)據(jù)交互時(shí)所需要的實(shí)體類,是各層之間數(shù)據(jù)傳遞的橋梁,做為實(shí)體層。4.2系統(tǒng)架構(gòu)圖濱海在線書店系統(tǒng)的整體架構(gòu)圖如下:圖4.1濱海在線書店系統(tǒng)架構(gòu)圖五、模塊設(shè)計(jì)5.1前臺(tái)模塊5.1.1會(huì)員注冊(cè)客戶如果想訪問(wèn)濱海在線書店購(gòu)書,需要先進(jìn)行注冊(cè),注冊(cè)時(shí)需要填寫自己的個(gè)人真實(shí)信息,以便購(gòu)買圖書后的賣家及時(shí)配送。會(huì)員注冊(cè)功能界面如下圖所示:圖5.1用戶注冊(cè)界面注冊(cè)時(shí)每一條信息都必須填寫,如果不填,則給出友好提示,如下圖所示:圖5.2用戶注冊(cè)界面輸入為空錯(cuò)誤提示兩次輸入的密碼必須一致,如果不一致則給出友好提示,如下圖所示:圖5.3用戶注冊(cè)兩次輸入密碼不一致錯(cuò)誤提示郵箱必須按郵箱規(guī)定格式輸入,如果格式不正確,則給出友好提示,如下圖所示:圖5.4用戶注冊(cè)郵箱格式不正確提示像這種彈出窗口的提示還有用戶的電話號(hào)碼和郵編是否為數(shù)字的驗(yàn)證,用戶名、密碼是否超過(guò)數(shù)據(jù)庫(kù)規(guī)定長(zhǎng)度等等,這些在瀏覽器端的提示都是通過(guò)javascript的正則表達(dá)式來(lái)實(shí)現(xiàn)。點(diǎn)擊注冊(cè)按鈕后,表單數(shù)據(jù)提交到CustomerServlet,CustomerServlet接收表單數(shù)據(jù),把表單數(shù)據(jù)封裝到Customer對(duì)象中,調(diào)用CustomerServiceImpl類中的saveCustomer(Customercustomer)方法,把該Customer所有信息存入數(shù)據(jù)庫(kù),如果c_id存在則提示用戶該登錄名已經(jīng)存在。此處還使用了數(shù)據(jù)庫(kù)操作的輔助類DBUtil、SqlHelper類以及perties配置文件。DBUtil類使用了Singleton模式(單例模式)封裝了JDBC連接數(shù)據(jù)庫(kù)和關(guān)閉數(shù)據(jù)庫(kù)的方法,使用簡(jiǎn)便,提高了加載效率,相比多次實(shí)例化數(shù)據(jù)庫(kù)對(duì)象節(jié)省了堆內(nèi)存空間,同時(shí)也實(shí)現(xiàn)了代碼的復(fù)用。perties文件存儲(chǔ)了數(shù)據(jù)庫(kù)連接需要的參數(shù),本項(xiàng)目使用的是mysql,如果需要更換為oracle、sqlserver或其他數(shù)據(jù)庫(kù),則只需要修改配置文件并把jar包引入即可。perties文件如下圖所示:圖5.5perties文件SqlHelper類與DBUtil類一樣,同樣使用了singleton模式,封裝了數(shù)據(jù)庫(kù)的CRUD操作,但如果涉及到事務(wù),需要一次性執(zhí)行多個(gè)操作的時(shí)候無(wú)法時(shí)候此類,比如后面要實(shí)現(xiàn)的提交訂單和刪除訂單同時(shí)涉及到Orders和OrderItem這兩張表,就無(wú)法使用此類了。當(dāng)注冊(cè)成功后頁(yè)面自動(dòng)跳轉(zhuǎn)到登錄界面。5.1.2會(huì)員登錄登錄分為會(huì)員登錄和管理員登錄,二者共用一個(gè)登錄界面,登錄系統(tǒng)時(shí),需要輸入正確的登錄名、密碼、身份和驗(yàn)證碼進(jìn)行登錄驗(yàn)證處理。登錄界面如下圖所示:圖5.6登錄界面登錄時(shí)首先進(jìn)行驗(yàn)證碼的校驗(yàn),當(dāng)驗(yàn)證碼輸入正確之后再去數(shù)據(jù)庫(kù)進(jìn)行登錄名和密碼的校驗(yàn),如果驗(yàn)證碼輸入錯(cuò)誤則給出提示。圖5.7驗(yàn)證碼輸入錯(cuò)誤界面驗(yàn)證碼采用Servlet以及GUI繪圖技術(shù)實(shí)現(xiàn),將隨機(jī)生成的驗(yàn)證碼放到session中,進(jìn)行登錄驗(yàn)證時(shí)候把隨機(jī)生成的驗(yàn)證碼從session中取出,如果一致,則驗(yàn)證通過(guò),去數(shù)據(jù)庫(kù)進(jìn)行登錄名和密碼的驗(yàn)證,如果輸出有誤,同樣給出相應(yīng)的提示。圖5.8登錄名或密碼輸出錯(cuò)誤界面驗(yàn)證成功后,進(jìn)入會(huì)員前臺(tái)界面。前臺(tái)主界面如下圖所示:圖5.9前臺(tái)主界面前臺(tái)界面使用Extjs框架設(shè)計(jì),此界面布局采用的是Extjs官方文檔中提供的布局模版,界面清爽,左邊部分每個(gè)功能模塊單獨(dú)作為一個(gè)按鈕,每個(gè)功能模塊之中還包含子功能按鈕,右側(cè)區(qū)域負(fù)責(zé)展現(xiàn),不同的頁(yè)面以選項(xiàng)卡的形式打開。右側(cè)部分做了修改,直接使用的是一個(gè)<iframe>顯示相應(yīng)界面,因此未涉及到ajax技術(shù)局部刷新的問(wèn)題。5.1.3圖書管理圖書管理模塊有兩個(gè)子功能模塊,分別是推薦圖書和選購(gòu)圖書。Book和Type表的內(nèi)容在整個(gè)系統(tǒng)中隨處都用的上,如果把Book和Typed的信息在項(xiàng)目啟動(dòng)時(shí)候就被查詢出放到容器里,就可以避免在用到的時(shí)候還需要去數(shù)據(jù)庫(kù)里查找的不便,同時(shí)還減輕了Servlet的負(fù)擔(dān),Servlet只需要做控制器負(fù)責(zé)頁(yè)面跳轉(zhuǎn),不需要傳遞數(shù)據(jù)了,降低了系統(tǒng)的耦合度,所以把存放Book和Type的List放到ServletContext中最適合不過(guò),此處用到一個(gè)ContextListener類,此類實(shí)現(xiàn)了ServletContextListener接口。推薦圖書是濱海在線書店向會(huì)員展示本書店熱點(diǎn)類別圖書和推薦圖書的界面,在全部圖書類別中只有4種類別可以作為熱點(diǎn)類別,對(duì)應(yīng)數(shù)據(jù)庫(kù)中Type表t_ishot為true的記錄。在全部圖書中如果是被推薦的圖書,對(duì)應(yīng)數(shù)據(jù)庫(kù)中Book表b_iscommend為true的記錄,并且該圖書的所屬類別是熱點(diǎn)類別,可以獲得推薦圖書頁(yè)面展示的機(jī)會(huì),推薦圖書界面如下圖所示:圖5.10推薦圖書界面選購(gòu)圖書功能是用戶可以圖書名的關(guān)鍵字進(jìn)行模糊查詢,同時(shí)也可以指定查找具體哪類圖書的信息,當(dāng)輸入的圖書名為空時(shí),查詢?nèi)康膱D書,界面如下圖所示:圖5.11選購(gòu)圖書界面選購(gòu)圖書界面使用了分頁(yè)技術(shù)進(jìn)行展現(xiàn),提供了上下翻頁(yè),鏈接到首頁(yè),尾頁(yè),以及鏈接到用戶輸入的指定頁(yè)碼的功能,在本系統(tǒng)中,默認(rèn)每頁(yè)最多顯示5條記錄。分頁(yè)顯示界面如下圖所示:圖5.12選購(gòu)圖書分頁(yè)顯示界面此處同樣用到了js表單驗(yàn)證技術(shù),跳轉(zhuǎn)到特定的頁(yè)碼所輸入的頁(yè)碼號(hào)必須為數(shù)字并且不能為空,如下圖所示:圖5.13跳轉(zhuǎn)到特定頁(yè)面錯(cuò)誤顯示分頁(yè)顯示圖書信息功能用到了BookServlet、BookServiceImpl等類以及el表達(dá)式,jstl標(biāo)簽等。點(diǎn)擊詳細(xì)信息按鈕之后,跳轉(zhuǎn)到顯示圖書詳細(xì)信息的頁(yè)面,此頁(yè)面可以查看圖書的詳細(xì)信息以及是否將圖書加入購(gòu)物車。圖5.14圖書詳細(xì)信息界面5.1.4購(gòu)物管理購(gòu)物管理功能模塊提供了查看我的購(gòu)物車和我的訂單兩個(gè)子功能,方便會(huì)員對(duì)自己的購(gòu)物信息進(jìn)行確認(rèn)和查看。當(dāng)會(huì)員把圖書加入到自己的購(gòu)物車之后,可以到我的購(gòu)物車頁(yè)面查看購(gòu)物車中的圖書信息和所購(gòu)圖書的總價(jià)格,還可以修改每本圖書訂購(gòu)的數(shù)量,以及把指定圖書從購(gòu)物車中刪除或直接清空購(gòu)物車,如下圖所示:圖5.15我的購(gòu)物車界面購(gòu)物車對(duì)象應(yīng)該在登錄時(shí)被創(chuàng)建,當(dāng)會(huì)員下訂單后或者關(guān)閉瀏覽器時(shí),把購(gòu)物車對(duì)象刪除,所以購(gòu)物車對(duì)象應(yīng)該放在Session中。由于購(gòu)物車內(nèi)的屬性是由Orders和Book共同組成,而Book的全部信息在ServletContext里已經(jīng)存在,所以購(gòu)物車對(duì)象中只需要存儲(chǔ)Orders的相關(guān)信息,用Orders對(duì)象存放即可,相關(guān)代碼如下:Ordersorders=newOrders();//創(chuàng)建一個(gè)購(gòu)物車對(duì)象request.getSession().setAttribute("orders",orders);//把購(gòu)物車對(duì)象放入session中當(dāng)點(diǎn)擊了“繼續(xù)購(gòu)物”按鈕時(shí),跳轉(zhuǎn)到選購(gòu)圖書頁(yè)面繼續(xù)選購(gòu)。當(dāng)點(diǎn)擊清空購(gòu)物車按鈕后,給出會(huì)員提示,如下圖所示:圖5.16清空購(gòu)物車提示當(dāng)點(diǎn)擊了“結(jié)算”按鈕時(shí),跳轉(zhuǎn)到確認(rèn)訂單頁(yè)面,在此頁(yè)面下可以查看訂單信息以及填寫收貨人,收貨地址等配送信息,如下圖所示:圖5.17確認(rèn)訂單頁(yè)面點(diǎn)擊了“提交訂單”按鈕后,如果配送信息正常通過(guò)js表單驗(yàn)證,把session中的購(gòu)物車清空,則提示如下圖所示:圖5.18下單成功提示下單成功后,在我的訂單頁(yè)面中可查看自己的所有訂單信息,如下圖所示:圖5.19我的訂單界面點(diǎn)擊“詳單”按鈕,可以查看該訂單的所有訂單項(xiàng)內(nèi)容,如下圖所示:圖5.20我的訂單詳單界面5.1.5個(gè)人管理個(gè)人管理功能模塊,有三個(gè)子功能模塊,分別是查看及修改個(gè)人信息,修改密碼和退出系統(tǒng)。個(gè)人信息頁(yè)面可以查看和修改個(gè)人信息,如下圖所示:圖5.21個(gè)人信息界面修改密碼頁(yè)面可以修改個(gè)人密碼,但原密碼必須輸入正確才能修改成功,修改密碼界面如下圖所示:圖5.22修改密碼界面點(diǎn)擊退出系統(tǒng)按鈕后直接跳轉(zhuǎn)到登錄界面,于此同時(shí)需要清除掉session中的個(gè)人信息,以防個(gè)人信息泄漏。5.2后臺(tái)模塊后臺(tái)模塊部分功能與前臺(tái)模塊的功能有部分重疊之處,重疊處不再進(jìn)行詳細(xì)講述和列舉相關(guān)代碼。5.2.1管理員登錄管理員登錄界面與會(huì)員登錄是同一個(gè)界面,如圖5.6,登錄時(shí)身份選擇下拉列表中的“管理員”,登錄成功后跳轉(zhuǎn)到管理員后臺(tái)頁(yè)面,后臺(tái)頁(yè)面如下圖所示:圖5.23后臺(tái)管理主界面5.2.2類別管理圖書類別管理模塊有兩個(gè)子功能模塊,分別是添加類別和查詢類別。添加類別頁(yè)面可以添加圖書類別到數(shù)據(jù)庫(kù),但添加的類別名必須是Type表中沒(méi)有的,并且不能為空,同樣通過(guò)js進(jìn)行驗(yàn)證,還可以指定該類別是否為熱點(diǎn)類別,所有類別中只有4種類別可以為熱點(diǎn)類別,具有推薦圖書頁(yè)展示的機(jī)會(huì),如下圖所示:圖5.24添加類別界面查詢類別功能允許輸入類別名關(guān)鍵字進(jìn)行模糊查詢,例如查詢“術(shù)”字可以查詢出美術(shù)和藝術(shù)兩個(gè)類別,如下圖所示:圖5.25查詢類別界面5.2.3圖書管理管理員的圖書管理模塊與會(huì)員不同,有圖書的增刪改查四個(gè)功能。添加圖書功能需要把除了圖書簡(jiǎn)介之外的所有信息都填寫上,圖書圖片采用文件上傳方式,但因?yàn)榧夹g(shù)原因,目前還沒(méi)有實(shí)現(xiàn),圖書圖片的存儲(chǔ)采用存儲(chǔ)圖書url的方式,顯示在頁(yè)面上的時(shí)候只需要把圖書的url得到即可,如下圖所示:圖5.26添加圖書界面管理員的查詢圖書功能與會(huì)員查詢圖書功能類似,只是在查詢出來(lái)的基礎(chǔ)上還可以對(duì)查詢出來(lái)的圖書進(jìn)行刪除和修改操作,查詢圖書界面如下圖所示:圖5.27查詢圖書界面修改圖書界面如下圖所示:圖5.28修改圖書界面點(diǎn)擊刪除圖書按鈕給出提示,以防止點(diǎn)錯(cuò)誤刪,如下圖所示:圖5.29刪除圖書提示5.2.4會(huì)員管理會(huì)員管理模塊提供了查詢會(huì)員和刪除會(huì)員兩個(gè)功能。查詢會(huì)員采用以會(huì)員真實(shí)名稱關(guān)鍵字作為模糊查詢,如果輸入的關(guān)鍵字為空,則查詢出所有會(huì)員的信息,查詢出會(huì)員信息之后還可以對(duì)會(huì)員進(jìn)行刪除操作,如下圖所示:圖5.30查詢會(huì)員界面刪除會(huì)員同樣給出提示,如下圖所示:圖5.31刪除會(huì)員彈出提示5.2.5訂單管理訂單管理模塊分為查詢所有會(huì)員訂單和刪除指定會(huì)員訂單兩個(gè)功能,查詢會(huì)員訂單界面如下圖所示:圖5.32查詢訂單界面點(diǎn)擊“詳單”按鈕可查看該訂單的詳細(xì)訂單項(xiàng),如下圖所示:圖5.33查詢訂單詳單界面刪除訂單操作與添加訂單操作一樣,涉及到Orders和OrderItem兩張表,所以需要放到同一個(gè)事務(wù)中操作,并切應(yīng)該先刪除OrderItem表中的相關(guān)數(shù)據(jù),再刪除Orders表中的相關(guān)數(shù)據(jù)。點(diǎn)擊“刪除訂單”按鈕彈出提示,如下圖:圖5.34刪除訂單彈出提示5.2.6個(gè)人管理個(gè)人管理功能模塊,有兩個(gè)子功能模塊,分別是修改密碼和退出系統(tǒng)。修改密碼和退出系統(tǒng)的實(shí)現(xiàn)方法與會(huì)員的個(gè)人管理模塊完全相同,界面如圖5.22所示。六、設(shè)計(jì)總結(jié)經(jīng)過(guò)這一周的項(xiàng)目實(shí)訓(xùn),在自己的不懈努力之下,終于獨(dú)立把這個(gè)濱海在線書店系統(tǒng)寫完了,感覺有不小的收獲,同時(shí)也發(fā)現(xiàn)自身存在太多的不足。剛開始做這個(gè)項(xiàng)目的時(shí)候,主要時(shí)間和精力花在了數(shù)據(jù)庫(kù)建模和用例數(shù)據(jù)測(cè)試上了,大約花了半天多的時(shí)間。因?yàn)樵谥拔以鴮戇^(guò)和這個(gè)書店系統(tǒng)類似的小項(xiàng)目得到很多經(jīng)驗(yàn)和教訓(xùn),如果不先把數(shù)據(jù)庫(kù)的表結(jié)構(gòu)設(shè)計(jì)好或者沒(méi)搞清楚實(shí)體之間的關(guān)聯(lián)關(guān)系,直接開始編碼,往往寫到一定程度就發(fā)現(xiàn)因?yàn)楸碓O(shè)計(jì)的有問(wèn)題,不得不重構(gòu)數(shù)據(jù)庫(kù),之前很多工作都白費(fèi)了。數(shù)據(jù)庫(kù)設(shè)計(jì)好之后,就開始考慮架構(gòu)的問(wèn)題,課本上是用model1實(shí)現(xiàn)的,考慮到用model1寫起來(lái)太不利于擴(kuò)展,耦合度太高,所以決定用mvc寫,寫完之后雖然整體上符合mvc的思想,大部分頁(yè)面也都使用了jstl標(biāo)簽和el表達(dá)式來(lái)處理數(shù)據(jù),但是局部做的還不是很好,比如涉及到分頁(yè)的jsp頁(yè)面還攙雜著大量的java代碼,這些問(wèn)題還需要日后的不斷學(xué)習(xí)才能解決。寫項(xiàng)目過(guò)程中,遇到了很多技術(shù)上的問(wèn)題,通過(guò)各種途徑也解決了很多問(wèn)題,通常在遇到問(wèn)題的時(shí)候首先自己先嘗試解決,解決不了再去Google或者百度上搜,Google是最好的老師這句話一點(diǎn)也沒(méi)錯(cuò),基本上90%以上的問(wèn)題都可以通過(guò)Google得到解決。我認(rèn)為獨(dú)立解決問(wèn)題的能力很關(guān)鍵,如果有一天我們離開學(xué)校離開老師了,能夠獨(dú)立解決問(wèn)題的人更具有競(jìng)爭(zhēng)力,當(dāng)然如果問(wèn)題實(shí)在解決不了,我也會(huì)選擇請(qǐng)教老師或者去csdn技術(shù)論壇上發(fā)求助帖,通過(guò)寫這個(gè)項(xiàng)目也提升了我獨(dú)立思考和解決問(wèn)題的能力。寫完這個(gè)濱海在線書店項(xiàng)目,讓我充分感受到寫一個(gè)完整的項(xiàng)目絕非只有編碼那么容易,從前期的需求分析工作到后期的設(shè)計(jì),編碼和測(cè)試都自己獨(dú)立完成,如果只寫后臺(tái)功能的實(shí)現(xiàn),最多也就是報(bào)幾個(gè)錯(cuò)誤,一般仔細(xì)看看輸出的堆棧異常信息就可以解決。但涉及到前端頁(yè)面的東西,確實(shí)是無(wú)能為力,俗話說(shuō),程序?qū)懙牟缓?,關(guān)鍵看美工,美工對(duì)我來(lái)說(shuō)是個(gè)很大的問(wèn)題,DW,PS,FLASH基本都不會(huì)用,html標(biāo)簽除了表單以外其他基本都不會(huì)用,寫出來(lái)的界面既不美觀也不友好,只能通過(guò)去網(wǎng)上找現(xiàn)成的素材來(lái)做簡(jiǎn)單的界面,幸好我之前學(xué)了一段時(shí)間的javascript,表單驗(yàn)證還可以馬馬虎虎的做,Extjs也了解一點(diǎn),所以就在Extjs提供的文檔上找了一個(gè)現(xiàn)成的ext布局模版自己稍微改了改就拿來(lái)用做后臺(tái)管理的界面了,再以后的學(xué)習(xí)中,jquery和ajax得重點(diǎn)學(xué)習(xí)一下,這個(gè)項(xiàng)目里很多地方其實(shí)可以用到ajax實(shí)現(xiàn)的地方,比如注冊(cè)的時(shí)候用戶名是否重復(fù)的驗(yàn)證,修改密碼的時(shí)候原密碼是否正確,我都沒(méi)用上ajax異步驗(yàn)證,而是傳統(tǒng)的提交表單驗(yàn)證,如果驗(yàn)證不通過(guò)再跳過(guò)來(lái),這樣設(shè)計(jì)確實(shí)存在很多不合理的地方。至于美工這方面本身我確實(shí)不怎么感興趣,希望下次再做類似項(xiàng)目的時(shí)候,可以找到一位美工做的很好的同學(xué)來(lái)合作完成。通過(guò)寫這種實(shí)際的項(xiàng)目,收獲確實(shí)要比學(xué)知識(shí)點(diǎn)大,學(xué)知識(shí)點(diǎn)只能
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年XX企業(yè)客戶服務(wù)文化建設(shè)方案
- 小學(xué)語(yǔ)文教學(xué)設(shè)計(jì)《棉花姑娘》
- 護(hù)理學(xué)基礎(chǔ)(護(hù)理???含答案))
- 2024-2025學(xué)年新教材高中英語(yǔ)課時(shí)分層作業(yè)一Unit1Laughoutloud含解析外研版選擇性必修第一冊(cè)
- 《操作系統(tǒng)教程》(5版)課堂或課后研討題
- 2024-2025學(xué)年高中數(shù)學(xué)第二章圓錐曲線與方程2.1拋物線及其標(biāo)準(zhǔn)方程課時(shí)作業(yè)含解析北師大版選修1-1
- 初中語(yǔ)文茶可道茶亦悠然閱讀練習(xí)及答案
- 高中政治統(tǒng)編版-選擇性必修三-《邏輯與思維》6.1推理與演繹推理概述
- 2023年護(hù)士招聘考試題及答案3
- 中級(jí)保育員理論知識(shí)測(cè)試題(附含答案)
- 鐘表經(jīng)典款式勞力士黑鬼
- 學(xué)校崗位廉政風(fēng)險(xiǎn)排查登記表
- 公司電梯安全總監(jiān)、電梯安全員崗位職責(zé)
- 02J331地溝及蓋板圖集
- 2019年西藏開發(fā)投資集團(tuán)有限公司招聘試題及答案解析
- HAY崗位管理體系構(gòu)建
- 2023年中級(jí)經(jīng)濟(jì)師考試真題及答案
- SB/T 10895-2012鮮蛋包裝與標(biāo)識(shí)
- GB/T 9115-2010對(duì)焊鋼制管法蘭
- GB/T 2423.3-2006電工電子產(chǎn)品環(huán)境試驗(yàn)第2部分:試驗(yàn)方法試驗(yàn)Cab:恒定濕熱試驗(yàn)
- GB/T 23221-2008烤煙栽培技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論