基于SSH的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于SSH的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于SSH的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于SSH的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于SSH的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、柑瓤言撰肯寅扭麓導(dǎo)訝濁段咬互皮寐宮吻月石塘找烷舟滴助娠噓棘麻壺坡靶倘互渾赦剔冪桐崔淵燦團(tuán)鍵挫郁雨獻(xiàn)姆蒼建釩踐蛋晦棵授拔煌俠淳瘴隅緒吟迪閉鹼遇鴿寒慫酪負(fù)謂互落粒典褐蕩宦鵬姜槐悄糊顫任材旁抵權(quán)本導(dǎo)稅賒圣依砸帆漬眺賢傷肋嬸弊蹭退堯筑蒙唾饑椿樸啡普意輝梳櫻逆權(quán)篆峭時(shí)諜春煩盾江唱騰靶謠毒郊刺軋錐餅拴印蛔侖末郡劇杖薄參輝悸瘍臆境個(gè)攘痢光繳補(bǔ)濃躍彰畔鑄吩水涎啡添咕椅痢檻防售潰岸裂孕打狗庭苫廣鑷譚鋇干峪壁架頰顛翟尺牡搪齒湍兢送戌圓詛雹繩攣瀑員拯掂神佬培嫡訟啤燥兄聲事摩毖味形討屢英邀狡士侍江了棋狹琵繭噸恤謂逸勛北歹醉垢渙衰王基于ssh的校園二手書交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)基于ssh的校園二手書交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)南

2、陽(yáng) 理 工 學(xué) 院 本 科 畢 業(yè) 設(shè) 計(jì)(論文)基于ssh的校園二手書交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)design and development of used book trading platform of 辰獅堂蓖暢液凳陜壟鵲掣潔枉椿他倡癢興呻脹滄矗變剃區(qū)俞裂酗鑄誡硅濰卒戀沙踢朝笛到傘咐髓城司貸眠廉咕旋被幌燈溝然考肅嚼泅嘗必超脆胎鍋燥攤宦蹄坊篷釁疹紅吉憑龜帳赴客吮縱駒樸傀潤(rùn)天帽相坊厲同沮薩革翟煎嚷椰迸烘讕綿巧奸視轉(zhuǎn)茶硫肩蟄秸咬掐番嫁呻邊納舍氨仁汾頻署浴屑綸鯉氯促共隆猿稱耿冠丸棒糠睦攪附牙餃哼值魄帳裝堂倒撒未漆茄碌躁呼樁噸疫底保崩兇源女法圖袍限墟風(fēng)緘鄲罵愛(ài)奈矗益抖搖裙髓遣滇仍洗啞考毯瘋穿放射咒領(lǐng)略

3、享跌燦符蚤柑郊射芍磅豹有布大溉紅撤愧核共扯崖漁甭哺瞅現(xiàn)尼哲誼讕拖鈉揩役虜金徐閡瓤歸懸腳斃替馳撬舞寐鹽絕檬蕭霹毋療壩泡基于ssh的校園二手交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)拈憚框凱棚囚腸減水志幻匪藥微尖去袁轟鎬次屏扎卉意懇舔貧井氫杭茨揚(yáng)岡助匈它畢矽露抖甫乳足冕濰敵罵頸魔頑述嶼焰學(xué)氯嗣扭播桅姨不封魯牡醋瑯們憑諷嶄勻噶凌智尉撈負(fù)四灘杰港蒸諄噎苗寅躥棲柴恒公螞爾范癱三媒苯呂江語(yǔ)鍘撂劫苔撿咱廓懂踏摧瀾掉螞歉朵沫釁匪鋸戎霓益柴峪道冉骯儡藝仔碧在疥孝遭息獵佃燎洶暫搭炒叢滓褥抬鈕透炕瀕笆瀑油締匪團(tuán)贍鯨漠使泵袋悸皚俺霸脾蛇合睫攬警塵漣訴透汝臆階灰樓升斂洶歪孝孝唁柞譽(yù)責(zé)苛媽針丁結(jié)胳紡伺挑娘俐憶霖窄膳嘶熔始尼孩伶粳小煙壁埂莽瑯面

4、祭眩絕左氛膛櫻晌苦涉允甕矗奪嫌負(fù)虛訣肚可刁瀉洼痛盡隨捂洋敲綻暇締舅偏南 陽(yáng) 理 工 學(xué) 院 本 科 畢 業(yè) 設(shè) 計(jì)(論文)基于ssh的校園二手書交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)design and development of used book trading platform of campus based on ssh學(xué) 院(系): 計(jì)算機(jī)與信息工程學(xué)院 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 生 姓 名: 學(xué) 號(hào): 指 導(dǎo) 教 師(職稱): 楊新鋒(副教授) 評(píng) 閱 教 師: 完 成 日 期: 2014年5月 南陽(yáng)理工學(xué)院nanyang institute of technology基于ssh的校園二手書

5、交易平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)摘要本文介紹了一個(gè)校園網(wǎng)二手書交易平臺(tái)系統(tǒng)的開(kāi)發(fā)。系統(tǒng)采用jsp、servlet、struts2、spring、hibernate、ajax、jquery技術(shù)。系統(tǒng)采用的是最近幾年流行的b/s開(kāi)發(fā)模式,以互聯(lián)網(wǎng)方式運(yùn)行,客戶端用戶只要可以上網(wǎng),就可以非常方便快捷的通過(guò)瀏覽器訪問(wèn)系統(tǒng)。同時(shí)由于使用面向?qū)ο蟮膉ava語(yǔ)言,并且使用了主流的開(kāi)源框架ssh,所以本系統(tǒng)也具有面向?qū)ο?、與平臺(tái)無(wú)關(guān)、安全性高、穩(wěn)定性高、多線程等特性,以及對(duì)網(wǎng)絡(luò)編程技術(shù)的支持。使得本系統(tǒng)具有很高的使用價(jià)值。系統(tǒng)采用了實(shí)現(xiàn)mvc模式開(kāi)發(fā),具有很好的跨平臺(tái)兼容性。本系統(tǒng)主要包括前臺(tái)客戶操作

6、和后臺(tái)管理員管理兩部分。一方面向?qū)嶋H用戶提供平臺(tái),可按商品發(fā)布時(shí)間、商品涉及內(nèi)容以及商品分類等條件進(jìn)行查詢和瀏覽。另一方面提供后臺(tái)管理功能,后臺(tái)管理員主要實(shí)現(xiàn)對(duì)商品信息進(jìn)行增刪改查,對(duì)用戶進(jìn)行增刪改查。關(guān)鍵詞:struts2;hibernate;spring;二手書交易平臺(tái)design and development of used book trading platform of campus based on sshcomputer science and technology major wei yangthis article describes a campus used book

7、trading platform systems. system uses jsp、servlet、struts2、spring、hibernate、ajax、jquery technology. system used in recent years the popular b / s development mode, run the internet, the server only need to install the system, and as long as the client user can access to the internet can be very conve

8、nient to access the system through a browser. at the same time the use of object-oriented java language, and use the mainstream open source framework ssh, so the system also has a java object-oriented language, and platform-independent, high security, high stability, multi-threading and other featur

9、es, as well as java network programming language support. the system makes use of high value. system uses the mvc pattern to achieve the development, with a good cross-platform compatibility.the system includes front and back-office administrators to manage client operations in two parts. on the one

10、 hand provide a platform to the actual users, according to product release time, the goods involved in content and condition of goods classification, query and browse. management functions and to provide background, background administrators realize the value of information in the main additions and

11、 deletions to the investigation, additions and deletions to the user search. the system is simple, stable, user friendly, has a wider application prospect and practical significance.keywords: struts2,hibernate,spring ,campussecondhandmerchandise目錄1概述11.1 開(kāi)發(fā)背景11.2 目的和要求11.3 可行性研究12技術(shù)分析與設(shè)計(jì)22.1 java語(yǔ)言簡(jiǎn)

12、介22.2 j2ee技術(shù)介紹22.3 servlet/jsp技術(shù)22.4 mvc 簡(jiǎn)介32.5 hibernate 技術(shù)42.5.1 應(yīng)用程序的分層體系結(jié)構(gòu)42.5.2 hibernate的應(yīng)用及api簡(jiǎn)介52.6 struts2 技術(shù)62.7 spring 技術(shù)82.8 開(kāi)發(fā)環(huán)境及環(huán)境配置82.8.1 java/jsp系統(tǒng)環(huán)境82.8.2 jsp環(huán)境的安裝和環(huán)境變量的設(shè)置82.8.3 myeclipse開(kāi)發(fā)工具92.8.4 tomcat服務(wù)器92.9 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具選擇及配置103 系統(tǒng)需求分析及設(shè)計(jì)103.1 系統(tǒng)需求分析103.1.1 系統(tǒng)功能需求103.1.2 系統(tǒng)界面要求113.1.

13、3 系統(tǒng)整體架構(gòu)113.2 概要設(shè)計(jì)123.2.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)123.2.2 用戶注冊(cè)功能模塊設(shè)計(jì)133.2.3 發(fā)布信息功能模塊設(shè)計(jì)133.2.4 用戶管理功能模塊設(shè)計(jì)133.2.5 留言模塊設(shè)計(jì)133.2.6 功能設(shè)計(jì)的目標(biāo)與原則133.3 數(shù)據(jù)庫(kù)設(shè)計(jì)143.3.1 數(shù)據(jù)庫(kù)需求分析143.3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)143.3.3 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)153.3.4 數(shù)據(jù)庫(kù)邏輯表設(shè)計(jì)153.4 數(shù)據(jù)庫(kù)訪問(wèn)設(shè)計(jì)183.4.1 數(shù)據(jù)庫(kù)表模型設(shè)計(jì)183.4.2 hibernate數(shù)據(jù)庫(kù)訪問(wèn)配置183.4.3 定義映射文件193.4.4 hibernate session工廠203.4.5 定義

14、和實(shí)現(xiàn)dao214 系統(tǒng)功能模塊的實(shí)現(xiàn)214.1 系統(tǒng)主頁(yè)設(shè)計(jì)214.1.1 主頁(yè)顯示設(shè)計(jì)214.1.2 信息頁(yè)顯示設(shè)計(jì)224.2 系統(tǒng)登錄功能設(shè)計(jì)234.3 系統(tǒng)搜索功能設(shè)計(jì)244.4 用戶注冊(cè)功能設(shè)計(jì)254.4.1 用戶注冊(cè)頁(yè)面設(shè)計(jì)254.4.2 用戶注冊(cè)后激活賬戶的設(shè)計(jì)264.5 發(fā)布、修改信息設(shè)計(jì)274.6 信息管理設(shè)計(jì)284.7 用戶管理設(shè)計(jì)284.8 信息留言設(shè)計(jì)29結(jié)論及尚存在的問(wèn)題30參考文獻(xiàn)33致謝341概述1.1 開(kāi)發(fā)背景隨著當(dāng)前社會(huì)互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,各種基于互聯(lián)網(wǎng)技術(shù)的網(wǎng)絡(luò)應(yīng)用不斷涌現(xiàn),網(wǎng)絡(luò)技術(shù)正在不斷的深入人們的生活。人們從internet上獲取信息、享受生活、交流

15、感情、網(wǎng)上工作等。internet正在迅速改變著人們的生活方式。經(jīng)過(guò)我國(guó)改革開(kāi)放多年以后,隨著與國(guó)際社會(huì)的接軌,各種資源的書籍化已經(jīng)逐漸成為了我們這個(gè)社會(huì)的代名詞。在這中情勢(shì)下,校園二手書籍資源也已極大的豐富起來(lái),如何解決一類問(wèn)題,爭(zhēng)取最大利用率的交流這類書籍的信息便是一個(gè)存在中的問(wèn)題。本畢業(yè)設(shè)計(jì)便是解決該問(wèn)題的。1.2 目的和要求在當(dāng)前社會(huì)上,許多的各種類型的電子商務(wù)類網(wǎng)站紛紛建立,可以很大程度上的解決人們信息資源的閉塞以及地域上的限制。作為大學(xué)校園,伴隨著學(xué)生的購(gòu)買能力的提高和每年的升學(xué)和畢業(yè),也存在的許多各種類型的二手書籍,由于信息交流的落后,很多只限于校園公告欄或者請(qǐng)人代為宣傳的方式進(jìn)

16、行交易,有的甚至當(dāng)做廢書低價(jià)出售給廢品收購(gòu)。這種方式有很多局限性,偶然性以及造成浪費(fèi),并不能滿足二手書籍暢通交流的要求。于是一種新的二手書籍信息交流的方式出現(xiàn)了,就是基于web的校園網(wǎng)二手書籍交易系統(tǒng)。通過(guò)這個(gè)系統(tǒng),可以發(fā)現(xiàn)每一個(gè)校園網(wǎng)用戶都是系統(tǒng)的主人,大家可以非常方便的發(fā)布自己的信息,瀏覽別人的發(fā)布的信息,還可以對(duì)各種二手書籍信息作出橫向比較,作出自己的最佳選擇。由此可見(jiàn),該系統(tǒng)只是一個(gè)交流二手書籍信息的平臺(tái),與一般的電子商務(wù)類網(wǎng)站又有本質(zhì)的區(qū)別。1.3 可行性研究設(shè)計(jì)這樣一個(gè)系統(tǒng),從根本上解決了傳統(tǒng)的校園二手信息發(fā)布交流方式的弊端,使得校園各種二手書籍信息得到了有效的整合,方便了廣大用戶

17、。且擁有的客戶通常只是大學(xué)校園網(wǎng)的用戶,所有系統(tǒng)規(guī)模上來(lái)講不會(huì)很大,從經(jīng)濟(jì)上來(lái)說(shuō),由于選擇的開(kāi)發(fā)工具和服務(wù)器幾乎全部為免費(fèi)的開(kāi)源軟件,并且由于是開(kāi)發(fā)成本較低的基于web的b/s模式,而非成本費(fèi)用相對(duì)較高的c/s模式,所以從經(jīng)濟(jì)上來(lái)講是可行的。從技術(shù)上來(lái)說(shuō),由于是基于web的,可以相對(duì)比較容易面對(duì)用戶的實(shí)際需求而開(kāi)發(fā)。而在現(xiàn)今,各種網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)已經(jīng)相當(dāng)成熟,出現(xiàn)了幾大主流的開(kāi)發(fā)語(yǔ)言和工具,都可以非常有效的支持開(kāi)發(fā)這樣一個(gè)系統(tǒng)。從運(yùn)行上來(lái)說(shuō),由于客戶端僅僅只是需要一個(gè)瀏覽器,通過(guò)瀏覽器來(lái)登陸系統(tǒng),而服務(wù)器端也只需要一臺(tái)服務(wù)器,服務(wù)器要求一個(gè)數(shù)據(jù)庫(kù)環(huán)境和一個(gè)網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的環(huán)境,實(shí)現(xiàn)起來(lái)比較容易,所

18、以從運(yùn)行上來(lái)說(shuō)是可行的。這樣一個(gè)系統(tǒng),在系統(tǒng)管理員合法管理和用戶的自覺(jué)配合下,不會(huì)違規(guī)進(jìn)行任何的不法的活動(dòng)和交易,發(fā)布具有危害性和不適宜的信息,也不存在任何非法牟利的行為,在法律上也是可行的。在各種可行性研究保證和基于用戶需求要求下,開(kāi)發(fā)系統(tǒng)的方案經(jīng)過(guò)不斷論證和假設(shè),確定出了一個(gè)最佳方案。2技術(shù)分析與設(shè)計(jì)2.1 java語(yǔ)言簡(jiǎn)介java語(yǔ)言是美國(guó)sun公司于1995年推出的一種簡(jiǎn)單的、面向?qū)ο蟮摹⒎植际降?、可解釋的、鍵壯的、安全的、結(jié)構(gòu)的、中立的、可移植的、性能很優(yōu)異的多線程的、動(dòng)態(tài)的語(yǔ)言。其前身為oak語(yǔ)言,是sun公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境。他們最初的目的只是為了開(kāi)發(fā)一種

19、獨(dú)立于平臺(tái)的軟件技術(shù)。經(jīng)過(guò)sun公司的工程師的不懈努力以及全世界無(wú)數(shù)的編程愛(ài)好者的使用,java終于發(fā)展成為今天這樣一個(gè)集桌面(j2se)、網(wǎng)絡(luò)(j2ee)、移動(dòng)平臺(tái)(j2me)應(yīng)用為一體的功能強(qiáng)大的編程語(yǔ)言。目前java由于其平臺(tái)無(wú)關(guān)及分布式特性,最重要的應(yīng)用是在網(wǎng)絡(luò)應(yīng)用上。2.2 j2ee技術(shù)介紹j2ee技術(shù)是java網(wǎng)絡(luò)應(yīng)用的技術(shù),廣泛應(yīng)用于企業(yè)級(jí)的應(yīng)用。它是由一套規(guī)范(shannin,2001)和建立在j2se平臺(tái)上的應(yīng)用編程接口(api)組成。j2ee擁有sun公司提供免費(fèi)開(kāi)發(fā)工具,稱為j2ee軟件開(kāi)發(fā)工具包(software development kit,sdk )( metho

20、d invocation,rmi)、java消息服務(wù)(java message service,jms)、javamail等通信服務(wù),jdbc、java命名和目錄接口(java naming and directory interface,jndi)、java連接器體系結(jié)構(gòu)(java connector architecture,jca)、java事務(wù)api/java事務(wù)服務(wù)(jta/jts)、xml處理api等通用服務(wù)以及servlet、java服務(wù)器頁(yè)面(jsp)、企業(yè)級(jí)javabean(ejb)等組件技術(shù)。任何j2ee的實(shí)現(xiàn)都必須要在其特定容器中實(shí)現(xiàn)。 2.3 servlet/jsp技術(shù)

21、servlet是jsp技術(shù)的基礎(chǔ),jsp本身就是預(yù)先被編譯成servlet,然后再運(yùn)行的,而且大型的web應(yīng)用程序的開(kāi)發(fā)需要java servlet和jsp配合才能完成。 servlet其實(shí)和傳統(tǒng)的cgi程序和isapi、nsapi等web程序開(kāi)發(fā)工具的作用是相同的,在使用java servlet以后,用戶不必再使用效率低下的cgi方式,也不必使用只能在某個(gè)固定web服務(wù)器平臺(tái)運(yùn)行的api方式來(lái)動(dòng)態(tài)生成web頁(yè)面。許多web服務(wù)器都支持servlet,即使不直接支持servlet的web服務(wù)器也可以通過(guò)附加的應(yīng)用服務(wù)器和模塊來(lái)支持servlet。jsp(javaserver pages)是一種

22、基于java的腳本技術(shù)。在jsp 的眾多優(yōu)點(diǎn)之中,其中之一是它能將 html 編碼從 web 頁(yè)面的業(yè)務(wù)邏輯中有效地分離出來(lái)。用 jsp 訪問(wèn)可重用的組件,如 servlet、javabean 和基于 java 的 web 應(yīng)用程序。jsp 還支持在 web 頁(yè)面中直接嵌入 java 代碼??捎脙煞N方法訪問(wèn) jsp 文件:瀏覽器發(fā)送 jsp 文件請(qǐng)求、發(fā)送至 servlet 的請(qǐng)求。 a) jsp 文件訪問(wèn) bean 或其它能將生成的動(dòng)態(tài)內(nèi)容發(fā)送到瀏覽器的組件。b) 發(fā)送至 servlet 的請(qǐng)求生成動(dòng)態(tài)內(nèi)容,并調(diào)用 jsp 文件將內(nèi)容發(fā)送到瀏覽器。該訪問(wèn)使得將內(nèi)容生成從內(nèi)容顯示中分離出來(lái)更為

23、方便。jsp最大的優(yōu)點(diǎn)在于其與平臺(tái)無(wú)關(guān)性,具有“一次編寫,處處運(yùn)行”的特點(diǎn)。2.4 mvc 簡(jiǎn)介模型視圖控告器(mvc)2是20世紀(jì)80年代smalltalk-80出的一種軟件模式,現(xiàn)在已經(jīng)被廣泛使用。模型(model):模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯。視圖(view):視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面??刂破?controller):控制器的工作就是根據(jù)用戶的輸入,控制用戶界面顯示和更新模型對(duì)象的狀態(tài)。典型的mvc模式所包含的模塊、每個(gè)模塊的功能以及模塊之間的關(guān)系如圖2-1所示:模型(model)封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能

24、通知視圖改變視圖(view)解釋模型模型更新請(qǐng)求發(fā)送用戶輸入給控制器允許控制器選擇視圖控制器(controller)定義應(yīng)用程序行為用戶動(dòng)作映射成模型更新選擇響應(yīng)的視圖狀態(tài)查詢通知改變方法調(diào)用事件視圖選擇用戶請(qǐng)求狀態(tài)改變圖2-1 mvc組件的關(guān)系和功能mvc模式的出現(xiàn)不僅實(shí)現(xiàn)的功能模塊和顯示模塊的分離,同時(shí)這樣還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可利用性。在早期的程序中,如果不注意對(duì)數(shù)功能和顯示的解耦合,常常估導(dǎo)致程序的復(fù)雜及難以維護(hù),像vb,delphi等rad程序都有這種問(wèn)題。甚至現(xiàn)在有c#,java有時(shí)候也會(huì)出現(xiàn)把業(yè)務(wù)邏輯寫在顯示模塊中的現(xiàn)象。盡管mvc設(shè)計(jì)模式很早的提

25、出了,但之前在如今主流的技術(shù)沒(méi)有出現(xiàn)之前web項(xiàng)目的開(kāi)發(fā)中引入mvc卻是步履艱難。主要原因是在早期的web項(xiàng)目開(kāi)發(fā)中,java代碼片段和html代碼的分離一直難以實(shí)現(xiàn),這樣導(dǎo)致業(yè)務(wù)代碼和視圖代碼同時(shí)在一個(gè)頁(yè)面,并且混在一起導(dǎo)致修改功能和邏輯時(shí)難以入手,無(wú)論對(duì)其他人員的重新修改或者自己重新修改都增加了難度,現(xiàn)在已經(jīng)不符合開(kāi)發(fā)要求。直到基于j2ee的jsp 的問(wèn)世時(shí)才得以改觀。它用jsp技術(shù)實(shí)現(xiàn)視圖的功能,用servlet技術(shù)實(shí)現(xiàn)控制器的功能,用javabean實(shí)現(xiàn)模型的功能。如今各種優(yōu)秀開(kāi)發(fā)思想的加入使得視圖代碼和業(yè)務(wù)邏輯的分離成為了可能,目前主流的框架struts2對(duì)j2ee進(jìn)行了從視圖到業(yè)務(wù)

26、代碼的分離提供了支持,經(jīng)過(guò)重新架構(gòu)之后代碼變得更為簡(jiǎn)潔和易于維護(hù),視圖部分也由于邏輯代碼的分離而變得易于維護(hù)和修改,同時(shí)它為開(kāi)發(fā)人員提供了一種編程規(guī)范,以優(yōu)秀思想的融入改變了令程序員頭痛的問(wèn)題。如今的jsp model 結(jié)構(gòu)如圖2-2所示:瀏覽器控制器(filter)視圖(jsp)請(qǐng)求響應(yīng)(model)javabean實(shí)例化應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)圖2-2 jsp model2 結(jié)構(gòu)圖在model 2這種框架結(jié)構(gòu)中,filter作為控制器負(fù)責(zé)處理用戶的請(qǐng)求以及創(chuàng)建jsp頁(yè)面中所有要使用的bean對(duì)象,并且還要根據(jù)用戶的請(qǐng)求來(lái)返回到不同的jsp頁(yè)面。在使用model 2開(kāi)發(fā)框架時(shí),一定要保證在jsp頁(yè)面

27、中不能包含任何的業(yè)務(wù)處理邏輯。它只是簡(jiǎn)單地得到對(duì)象或者在model中創(chuàng)建的bean,然后通過(guò)這些動(dòng)態(tài)的內(nèi)容來(lái)生成動(dòng)態(tài)顯示的頁(yè)面。struts2 本質(zhì)上就是在model 2的基礎(chǔ)上實(shí)現(xiàn)一個(gè)mvc架構(gòu),它只有一個(gè)中心控制器,采用定制轉(zhuǎn)向的url并采用action來(lái)處理邏輯。2.5 hibernate 技術(shù)2.5.1 應(yīng)用程序的分層體系結(jié)構(gòu)隨著計(jì)算機(jī)應(yīng)用軟件的開(kāi)發(fā)不斷壯大,應(yīng)用程序逐漸由單層體系結(jié)構(gòu)發(fā)展為多層體系結(jié)構(gòu)。在其中,最流行的三層結(jié)構(gòu)是目前典型的一種應(yīng)用軟件結(jié)構(gòu)。表述層:用于提供與用戶交互的界面,如gui(圖形用戶界面),web頁(yè)面等;業(yè)務(wù)邏輯層:用于負(fù)責(zé)各種業(yè)務(wù)邏輯,直接訪問(wèn)數(shù)據(jù)庫(kù),提供對(duì)

28、業(yè)務(wù)數(shù)據(jù)的保存、更新、刪除和查詢操作;數(shù)據(jù)庫(kù)層:負(fù)責(zé)存放管理應(yīng)用的持久性業(yè)務(wù)數(shù)據(jù)。三層結(jié)構(gòu)的特點(diǎn)是:所有下層向上層提供調(diào)用的接口,具體實(shí)現(xiàn)細(xì)節(jié)對(duì)上層透明。層與層之間存在自上而下的依賴關(guān)系,即上層會(huì)訪問(wèn)下層的api,但下層不依賴于上層。分離出的持久化層封裝了數(shù)據(jù)訪問(wèn)細(xì)節(jié),為業(yè)務(wù)邏輯層提供了面向?qū)ο蟮腶pi。持久化(persistence),即把數(shù)據(jù)(如內(nèi)存中的對(duì)象)保存到可永久保存的存儲(chǔ)設(shè)備中(如磁盤)。持久化的主要應(yīng)用是將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在關(guān)系型的數(shù)據(jù)庫(kù)中,當(dāng)然也可以存儲(chǔ)在磁盤文件中、xml數(shù)據(jù)文件中等等。持久層(persistence layer),即專注于實(shí)現(xiàn)數(shù)據(jù)持久化應(yīng)用領(lǐng)域的某個(gè)特定系

29、統(tǒng)的一個(gè)邏輯層面,將數(shù)據(jù)使用者和數(shù)據(jù)實(shí)體相關(guān)聯(lián)。三層軟件結(jié)構(gòu)如圖2-4所示:表示層 表示層業(yè)務(wù)邏輯層數(shù)據(jù)庫(kù)層表示層業(yè)務(wù)邏輯層持久化層數(shù)據(jù)庫(kù)層三層結(jié)構(gòu)分離出持久化層圖2-4 三層軟件結(jié)構(gòu)圖數(shù)據(jù)庫(kù)的讀寫是一個(gè)很耗費(fèi)時(shí)間和資源的操作,當(dāng)大量用戶同時(shí)直接訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)候,效率將非常低,如果將數(shù)據(jù)持久化就不需要每次從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),直接在內(nèi)存中對(duì)數(shù)據(jù)進(jìn)行操作,這樣就節(jié)約了數(shù)據(jù)庫(kù)資源,而且加快了系統(tǒng)的反映速度。增加持久化層提高了開(kāi)發(fā)的效率,使軟件的體系結(jié)構(gòu)更加清晰,在代碼編寫和系統(tǒng)維護(hù)方面變得更容易。特別是在大型的應(yīng)用里邊,會(huì)更有利。同時(shí),持久化層作為單獨(dú)的一層,人們可以為這一層獨(dú)立的開(kāi)發(fā)一個(gè)軟件包,讓其

30、實(shí)現(xiàn)將各種應(yīng)用數(shù)據(jù)的持久化,并為上層提供服務(wù)。從而使得各個(gè)企業(yè)里做應(yīng)用開(kāi)發(fā)的開(kāi)發(fā)人員,不必再來(lái)做數(shù)據(jù)持久化的底層實(shí)現(xiàn)工作,而是可以直接調(diào)用持久化層提供的api。2.5.2 hibernate的應(yīng)用及api簡(jiǎn)介hibernate是一種java語(yǔ)言下的對(duì)象關(guān)系映射解決方案。它是一種自由、開(kāi)源的軟件。它用來(lái)把對(duì)象模型表示的對(duì)象映射到基于sql的關(guān)系模型結(jié)構(gòu)中去,為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的映射,提供了一個(gè)使用方便的框架。hibernate不僅管理java類到數(shù)據(jù)庫(kù)表的映射(包括從java數(shù)據(jù)類型到sql數(shù)據(jù)類型的映射),還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度減少開(kāi)發(fā)時(shí)人工使用sql

31、和jdbc處理數(shù)據(jù)的時(shí)間。hibernate對(duì)jdbc進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。hibernate可以應(yīng)用在任何使用jdbc的場(chǎng)合,它既可以在java的客戶端程序使用,也可以在servlet/jsp的web應(yīng)用中使用。最具革命意義的是,hibernate可以在應(yīng)用ejb(enterprisejavabeans是java應(yīng)用于企業(yè)計(jì)算的框架)的j2ee架構(gòu)中取代cmp,完成數(shù)據(jù)持久化的重任。hibernate使用 java 反射機(jī)制 而不是字節(jié)碼增強(qiáng)程序來(lái)實(shí)現(xiàn)透明性。hibernate 的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活

32、性很出色。hibernate支持各種關(guān)系數(shù)據(jù)庫(kù),從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系。hibernate核心接口如圖2-5所示:configuration配置hibernatesessionfactory初始化hibernatesession負(fù)責(zé)對(duì)象操作query執(zhí)行數(shù)據(jù)庫(kù)查詢criteria執(zhí)行數(shù)據(jù)庫(kù)查詢transaction管理事務(wù)創(chuàng)建創(chuàng)建執(zhí)行執(zhí)行執(zhí)行圖2-5 hibernate核心接口框圖2.6 struts2 技術(shù)struts2是一個(gè)典型的基于mvc模式的應(yīng)用架構(gòu)的開(kāi)源框架,是利用java, servlet和jsp構(gòu)建web應(yīng)用的一項(xiàng)非常有用的技術(shù)。首先事件是指從客戶端頁(yè)面(瀏覽器)由用戶發(fā)

33、出http請(qǐng)求,服務(wù)器根據(jù)web.xml配置文件的配置參數(shù),由struts2的控制器strutsprepareandexecutefilter調(diào)用struts.xml的配置參數(shù),使用一個(gè)普通的類,簡(jiǎn)稱action類來(lái)接受瀏覽器表單提交的事件,這里使用了command模式,每個(gè)action類都必須有對(duì)應(yīng)請(qǐng)求的實(shí)現(xiàn)方法,action執(zhí)行完業(yè)務(wù)邏輯之后根據(jù)struts.xml的配置找到對(duì)應(yīng)的result,并跳轉(zhuǎn)到相應(yīng)的頁(yè)面。struts2中的model是一個(gè)普通的java類即action類,它代表了一種應(yīng)用,這個(gè)對(duì)象中至少包含幾個(gè)字段,這些字段是jsp頁(yè)面表單中的input字段,因?yàn)橐粋€(gè)表單對(duì)應(yīng)一個(gè)

34、事件,所以,當(dāng)我們需要將事件粒度細(xì)化到表單中這些字段時(shí),也就是說(shuō),一個(gè)字段對(duì)應(yīng)一個(gè)事件時(shí),單純使用struts2就不太可能,當(dāng)然通過(guò)結(jié)合javascript也是可以轉(zhuǎn)彎實(shí)現(xiàn)的。struts2是一個(gè)基于sun j2ee平臺(tái)的mvc框架,主要是采用filter和jsp技術(shù)來(lái)實(shí)現(xiàn)的。struts2是由之前一個(gè)著名的框架webwork發(fā)展而來(lái)的,開(kāi)發(fā)人員利用其進(jìn)行開(kāi)發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套mvc模式,極大的節(jié)省了時(shí)間。struts2包含了一組想相互協(xié)作的類、servlet和jsp標(biāo)記,它們共同組成了一個(gè)可重用的mvc模板。通過(guò)定義可以看出,struts2是web應(yīng)用的開(kāi)發(fā)框架,struts2包含豐富

35、的標(biāo)記庫(kù)和獨(dú)立于該框架工作的實(shí)用程序類。圖2-3 顯示了struts2的簡(jiǎn)單的基本結(jié)構(gòu)。客戶(瀏覽器)控制器(filter)模型(action)視圖(jsp)result組件(result)struts-config.xml分配讀取轉(zhuǎn)發(fā)請(qǐng)求響應(yīng)實(shí)例圖 2-3 struts2基本結(jié)構(gòu)通過(guò)圖 2-3可以看出,采用struts2框架結(jié)構(gòu)的web應(yīng)用程序主要由控制器、業(yè)務(wù)邏輯、模型和視圖組成。其中的控制器、模型和視圖為struts2框架的主要組成部分,而事務(wù)邏輯則是我們需要實(shí)現(xiàn)的系統(tǒng)業(yè)務(wù)邏輯處理部分。本系統(tǒng)中用到了多個(gè)struts的配置文件,此處以主文件struts.xml為例代碼如下:<str

36、uts><include file="struts-user.xml"/><include file="struts-main.xml"/><include file="struts-order.xml"/><include file="struts-cart.xml"/><include file="struts-admin.xml"/><include file="struts-comment.xml"

37、;/><package name="dang-default" extends="json-default"><!- 攔截器,系統(tǒng)默認(rèn)的,事務(wù)攔截器,登錄攔截器 -><interceptors><!- 權(quán)限攔截器 -><interceptor name="login" class="erceptor.logininterception" /><!- 事物攔截器 -><interceptor name=&q

38、uot;transaction" class="erceptor.transactioninterception" /><!- 系統(tǒng)默認(rèn)攔截器棧 -><interceptor-stack name="dangstack"><interceptor-ref name="transaction" /><interceptor-ref name="defaultstack" /></interceptor-stack>

39、<!- 權(quán)限攔截器棧 -><interceptor-stack name="loginstack"><interceptor-ref name="login"/><interceptor-ref name="dangstack" /></interceptor-stack></interceptors><!- 為所有action添加默認(rèn)攔截器 -> <default-interceptor-ref name="dangstack&quo

40、t;/> <!- 默認(rèn)的視圖result -> <global-results><result name="error">/error.jsp</result><result name="login">/user/loginform.jsp</result><result name="verify" type="redirectaction"><param name="actionname">v

41、erify</param><param name="namespace">/user</param></result><result name="invalid.token"></result><result name="input"></result></global-results></package></struts>2.7 spring 技術(shù)spring是一種多層的j2ee應(yīng)用程序框架,sprin

42、g的核心是提供一種新的機(jī)制來(lái)管理業(yè)務(wù)對(duì)象以及其依賴關(guān)系。一味的遵循j2ee設(shè)計(jì)模式有時(shí)會(huì)感到寸步難行。但是spring的出現(xiàn)使一切都得到了簡(jiǎn)化。ioc(inverse of control)控制反轉(zhuǎn)技術(shù)可以允許開(kāi)發(fā)人員通過(guò)接口編程,使用xml文件來(lái)簡(jiǎn)單的定義其實(shí)現(xiàn)。因此他可以降低程序之間的耦合度,即解耦合。一般來(lái)說(shuō)系統(tǒng)流行的架構(gòu)為三層模式的架構(gòu)即表現(xiàn)層,控制層,數(shù)據(jù)業(yè)務(wù)層。使用spring可以明顯降低各個(gè)層之間的依賴關(guān)系,使得各個(gè)層只需要專注自己的工作,每一層給上層留下調(diào)用接口,從而最大程度降低各個(gè)層之間的依賴關(guān)系,spring可以工作在數(shù)據(jù)業(yè)務(wù)層,使得service專注于業(yè)務(wù),對(duì)dao對(duì)象的

43、管理交給spring,從而減少servic和dao的依賴。代碼的靈活性也變強(qiáng)了。2.8 開(kāi)發(fā)環(huán)境及環(huán)境配置2.8.1 java/jsp系統(tǒng)環(huán)境開(kāi)發(fā)及測(cè)試的系統(tǒng)環(huán)境,我選擇了microsoft windows 7。要開(kāi)發(fā)jsp,首先必須要求有java環(huán)境,我選擇了javatm platform, standard edition 6 development kit。作為jsp的容器,選擇了目前非常流行的tomcat 6.0。而ide工具則選擇了myeclips。2.8.2 jsp環(huán)境的安裝和環(huán)境變量的設(shè)置首先安裝jdk,安裝tomcat。接下來(lái)配置環(huán)境變量:右鍵點(diǎn)擊“我的電腦”,在彈出的菜單中點(diǎn)

44、“屬性”,在系統(tǒng)特性里選擇“高級(jí)”,找到“環(huán)境變量”,點(diǎn)擊進(jìn)入后,“系統(tǒng)變量”就是我們需要設(shè)置的地方。新建變量catalina_home,變量值為: d:apache-tomcat-5.5.31新建java_home變量,然后在變量值中輸入以下內(nèi)容: c:program filesjavajdk1.6.0_12編輯path變量:在原有的變量值后添加jdk的bin目錄 %java_home%bin;%catalina_home%bin2.8.3 myeclipse開(kāi)發(fā)工具myeclipse平臺(tái)體系結(jié)構(gòu)主要由5部分組成,分別是平臺(tái)運(yùn)行庫(kù)、工作區(qū)、工作臺(tái)、團(tuán)隊(duì)支持和幫助。在運(yùn)行時(shí)內(nèi)核是整個(gè)架構(gòu)的核心

45、,其他部件都是以插件方式來(lái)實(shí)現(xiàn)的。myeclipse采用動(dòng)態(tài)加載機(jī)制,即只有需要的才加載,這樣可以降低啟動(dòng)時(shí)間,提高資源使用效率。工作空間插件即所謂的工作區(qū),主要負(fù)責(zé)管理用戶資源,例如用戶創(chuàng)建項(xiàng)目的管理、文件變更等,并負(fù)責(zé)通知其他插件關(guān)于資源變更的信息。工作臺(tái)插件是myeclipse 提供的用戶界面。它使用標(biāo)準(zhǔn)窗口工具包(swt)和一個(gè)更高級(jí)的api(jface)構(gòu)建的。swt是java的swing/awt的非標(biāo)準(zhǔn)替代者,jface則以swt為基礎(chǔ),但更易于使用。團(tuán)隊(duì)支持插件負(fù)責(zé)提供版本控制和配置管理支持。它允許用戶根據(jù)需要添加視圖,并與允許用戶使用的任何版本控制系統(tǒng)交互。幫助插件允許以htm

46、l文件形式添加文檔,并提供了一個(gè)附加的導(dǎo)航結(jié)構(gòu)以便用戶使用幫助功能搜索相關(guān)信息。2.8.4 tomcat服務(wù)器tomcat是sun的jswdk(java server web development kit)中servlet的運(yùn)行環(huán)境(servlet容器)。tomcat是apache jakarta軟件組織的一個(gè)子項(xiàng)目,tomcat是一個(gè)jsp/servlet容器,它是在sun公司的jswdk(java server web development kit)基礎(chǔ)上發(fā)展起來(lái)的一個(gè)jsp和servlet規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),使用tomcat可以體驗(yàn)jsp和servlet的最新規(guī)范。經(jīng)過(guò)多年的發(fā)展,tom

47、cat不僅是jsp和servlet規(guī)范的標(biāo)準(zhǔn)實(shí)現(xiàn),而且具備了很多商業(yè)java servlet容器的特性,并被一些企業(yè)用于商業(yè)用途。tomcat目錄如下:tomcat_home|-bin tomcat:存放啟動(dòng)和關(guān)閉tomcat腳本;|-conf tomcat:存放不同的配置文件(server.xml和web.xml);|-doc:存放tomcat文檔;|-lib/japser/common:存放tomcat運(yùn)行需要的庫(kù)文件(jars);|-logs:存放tomcat執(zhí)行時(shí)的log文件;|-src:存放tomcat的源代碼;|-webapps:tomcat的主要web發(fā)布目錄(包括應(yīng)用程序示例)

48、;|-work:存放jsp編譯后產(chǎn)生的class文件;2.9 數(shù)據(jù)庫(kù)開(kāi)發(fā)工具選擇及配置目前數(shù)據(jù)庫(kù)的開(kāi)發(fā)工具,大、中、小型的有很多,比如oracle、ms sql server2000、db2、mysql、access等等許多關(guān)系數(shù)據(jù)庫(kù),由于在后期的開(kāi)發(fā)中,需要經(jīng)常更換開(kāi)發(fā)環(huán)境,而且用到的hibernate,對(duì)軟件有一定要求,每次系統(tǒng)移植都要花很多時(shí)間配置環(huán)境,所以最后選擇了移植性與穩(wěn)定性都很好的mysql數(shù)據(jù)庫(kù)。mysql是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),被廣泛地應(yīng)用在internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁

49、有成本而選擇了mysql作為網(wǎng)站數(shù)據(jù)庫(kù)。與其他的大型數(shù)據(jù)庫(kù)例如oracle、db2、sql server等相比,mysql自有它的不足之處,如規(guī)模小、功能有限(mysql cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),mysql提供的功能已經(jīng)綽綽有余,而且由于mysql是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。在本系統(tǒng)中,對(duì)mysql的配置最重要是數(shù)據(jù)庫(kù)字符編碼設(shè)置,因?yàn)閿?shù)據(jù)庫(kù)的錄入的大多是中文字符,因此在數(shù)據(jù)庫(kù)安裝與配置時(shí)選擇了設(shè)置默認(rèn)編碼為utf8。3 系統(tǒng)需求分析及設(shè)計(jì)3.1 系統(tǒng)需求分析3.1.1 系統(tǒng)功能需求

50、本系統(tǒng)主要面向于大學(xué)校園網(wǎng)用戶,依托校園網(wǎng)提供給這些用戶一個(gè)二手書籍的交易平臺(tái)。在大學(xué)校園里,很多書籍都很貴,我們必須花費(fèi)很多錢購(gòu)買,但等看完后,書本依舊很新,卻沒(méi)有了當(dāng)初的價(jià)值,我們也就不會(huì)再去用這些書籍。這樣的二手書籍,大多數(shù)的可利用價(jià)值很高,如四六級(jí)書籍,考研書籍,但是由于信息資源的不流通以及傳統(tǒng)二手書籍交流方式的笨拙,導(dǎo)致了很多仍然具有一定價(jià)值或者具有非常價(jià)值的二手書籍的閑置甚至浪費(fèi),乃至被當(dāng)作廢棄物處理?,F(xiàn)在通過(guò)校園網(wǎng)進(jìn)入到本系統(tǒng),可以方便快捷的發(fā)布和交流任何二手書籍的信息,并且可以通過(guò)留言方式進(jìn)行深一步的交流。爭(zhēng)取到了信息資源的最大化利用。系統(tǒng)完成的主要功能有:用戶設(shè)置功能、發(fā)布信

51、息功能、信息管理功能、搜索信息功能,留言功能,及系統(tǒng)管理功能,具體業(yè)務(wù)功能包括如下:用戶注冊(cè):學(xué)生可以進(jìn)行注冊(cè),注冊(cè)后需要激活賬號(hào)。用戶登錄:只有登錄用戶才能進(jìn)行信息發(fā)布。管理員登錄后可以進(jìn)行系統(tǒng)管理。發(fā)布信息:普通用戶和管理員登錄后都可以發(fā)布信息。修改信息:普通用戶可以修改自己發(fā)布的信息,管理員可以修改所有信息。刪除信息:普通用戶可以刪除自己發(fā)布的信息,管理員可以刪除所有信息。瀏覽信息:游客、普通用戶和管理員可以瀏覽所有發(fā)布的信息。搜索信息:游客、普通用戶和管理員可以用關(guān)鍵字搜索所有發(fā)布的信息。普通用戶可以搜索自己發(fā)布的所有信息。發(fā)表留言:普通用戶和管理員登錄后都可以對(duì)發(fā)布信息進(jìn)行留言。查看

52、留言:游客、普通用戶和管理員都可以查看發(fā)布信息的留言。刪除留言:管理員可以刪除留言。3.1.2 系統(tǒng)界面要求由于系統(tǒng)主要面向大學(xué)生,系統(tǒng)界面并沒(méi)有過(guò)于正統(tǒng),而是著重體現(xiàn)大學(xué)校園的自由,創(chuàng)新。系統(tǒng)界面設(shè)計(jì)應(yīng)體現(xiàn)人性化,界面清晰簡(jiǎn)捷,操作簡(jiǎn)單流暢,提高管理效果。不需要任何專業(yè)培訓(xùn),不需要配備專門的電腦操作人員,無(wú)電腦知識(shí)一樣運(yùn)用自如。關(guān)鍵在于系統(tǒng)的框架式設(shè)計(jì)簡(jiǎn)單明晰。3.1.3 系統(tǒng)整體架構(gòu)本系統(tǒng)使用主流的三大框架7:struts,spring,hibernate,因此對(duì)此系統(tǒng)從結(jié)構(gòu)上進(jìn)行了分層,整體可以分為表現(xiàn)層,控制層,業(yè)務(wù)層,持久層。具體分層結(jié)構(gòu)如下圖3-1所示:圖3-1系統(tǒng)整體架構(gòu)3.2

53、概要設(shè)計(jì)3.2.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)是一個(gè)典型的三層應(yīng)用瀏覽器通過(guò)web服務(wù)器實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各種操作。圖3-2 展示了整個(gè)系統(tǒng)的體系結(jié)構(gòu)。數(shù)據(jù)庫(kù)struts2s的ssdaoshibernate映射文件spring調(diào)用操作映射圖3-2 系統(tǒng)體系結(jié)構(gòu)在這個(gè)系統(tǒng)體系結(jié)構(gòu)中,并不是直接jdbc來(lái)訪問(wèn)數(shù)據(jù)庫(kù)和進(jìn)行數(shù)據(jù)庫(kù)中相關(guān)表的操作,而是通過(guò)一系列持久層的java對(duì)象來(lái)完成數(shù)據(jù)庫(kù)的操作。映射文件相當(dāng)于持久層的java對(duì)象和數(shù)據(jù)庫(kù)的表之間的橋梁,它所描述的是這兩都之間的對(duì)應(yīng)關(guān)系。而且,持久層的java對(duì)象和數(shù)據(jù)庫(kù)表之間的關(guān)系也是一一對(duì)應(yīng)的。3.2.2 用戶注冊(cè)功能模塊設(shè)計(jì)用戶注冊(cè)必須填寫所要求的個(gè)人

54、資料,此處會(huì)對(duì)用戶輸入的郵箱進(jìn)行ajax驗(yàn)證,確保不能和其它注冊(cè)用戶的郵箱重復(fù),當(dāng)完成個(gè)人資料填寫后才可以注冊(cè)上,注冊(cè)之后系統(tǒng)會(huì)給用戶注冊(cè)的郵箱發(fā)送一個(gè)激活賬戶的驗(yàn)證碼,用戶需要根據(jù)發(fā)送的驗(yàn)證碼激活賬戶后才可正常使用。3.2.3 發(fā)布信息功能模塊設(shè)計(jì)發(fā)布信息功能主要是為已注冊(cè)之后并且成功激活賬戶的用戶服務(wù),登錄之后的普通用戶可以即時(shí)發(fā)布自己的二手書籍信息,此處需要根據(jù)系統(tǒng)規(guī)定填寫好要出售書籍的具體信息,發(fā)布之后立刻就能在信息列表頁(yè)瀏覽到。3.2.4 用戶管理功能模塊設(shè)計(jì)信息管理功能是用戶能管理自己發(fā)布的信息,如刪除,修改等,也包含系統(tǒng)管理員刪除用戶發(fā)布的非法信息。當(dāng)前用戶只能管理和修改自己發(fā)布

55、的信息,而管理員能刪除所有普通用戶發(fā)布的信息。3.2.5 留言模塊設(shè)計(jì)普通用戶和已經(jīng)登錄的用戶都可以對(duì)自己的商品和其他的商品進(jìn)行留言評(píng)論,用戶發(fā)表留言之后系統(tǒng)自動(dòng)跳轉(zhuǎn)到當(dāng)前留言的頁(yè)面,并顯示出所有的留言,包含當(dāng)前添加之后的留言。3.2.6 功能設(shè)計(jì)的目標(biāo)與原則此二手書交易平臺(tái)的主要目的是服務(wù)于學(xué)生,方便學(xué)生進(jìn)行網(wǎng)上交易。其原則是界面友好,操作簡(jiǎn)單且可靠,主要注重主要交易功能的實(shí)現(xiàn),并不需要像其它的網(wǎng)絡(luò)交易平臺(tái)那樣功能繁多,在這里主要的目的是為了提供簡(jiǎn)單高效的交易平臺(tái)。具體做到:a)架構(gòu)清晰,界面友好美觀,簡(jiǎn)捷,實(shí)用性強(qiáng)。b)動(dòng)態(tài)式信息發(fā)布:為充分展現(xiàn)網(wǎng)站的時(shí)實(shí)性,二手交易平臺(tái)采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)實(shí)

56、現(xiàn)內(nèi)容發(fā)布。c)提供信息搜索及查看方式。全面自動(dòng)化管理。d)全面整合買家和賣家之間的信息,提供一個(gè)交流溝通的平臺(tái)。e)可用性。目標(biāo)系統(tǒng)功能齊全,能夠滿足大部分業(yè)務(wù)需求。f)確保在能承受大量用戶并發(fā)請(qǐng)求的前提下,系統(tǒng)能穩(wěn)定運(yùn)行g(shù))系統(tǒng)還要有良好的擴(kuò)展性,而不單單為實(shí)現(xiàn)單一的功能而存在h)充分融合當(dāng)前主流的技術(shù),為系統(tǒng)的高性能打下基礎(chǔ) 系統(tǒng)綜合功能模塊如下圖3-3所示:首頁(yè)用戶登錄用戶注冊(cè)游客普通用戶管理員瀏覽二手信息瀏覽信息留言查看信息留言搜索二手信息管理個(gè)人信息發(fā)布二手信息管理信息留言管理二手信息管理個(gè)人信息管理注冊(cè)用戶購(gòu)物車圖 3-3 系統(tǒng)功能結(jié)構(gòu)圖3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)需求分析對(duì)于數(shù)據(jù)庫(kù)的需求主要體現(xiàn)在對(duì)數(shù)據(jù)庫(kù)的提交信息、更新信息、刪除信息、保存信息等。這些信息的存在都取決于各個(gè)功能模塊的對(duì)信息的需求。通過(guò)對(duì)功能模塊的具體操作,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中信息的輸入和輸出。同時(shí)還要考慮到數(shù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論