版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1 引言</b></p><p> 隨著社會(huì)和經(jīng)濟(jì)的不斷發(fā)展,產(chǎn)業(yè)結(jié)構(gòu)調(diào)整步伐的加快,人民生活水平不斷提高,大量舊的生活用品、閑置設(shè)備和庫(kù)存產(chǎn)品等舊貨資源不斷產(chǎn)生。與此同時(shí),大批流動(dòng)人口涌入城市,欠發(fā)達(dá)地區(qū)的加快開(kāi)發(fā),又為舊貨物品開(kāi)辟了十分廣闊的市場(chǎng)。有關(guān)專家指出,二手貨物中蘊(yùn)含著一個(gè)大商機(jī)。讓二手貨物流通起來(lái),對(duì)調(diào)劑生活用品余缺,盤活企業(yè)存量資產(chǎn),充分挖掘
2、社會(huì)閑置資源,促進(jìn)生產(chǎn),滿足消費(fèi)和保護(hù)環(huán)境都有著重要作用。為了減少資源浪費(fèi),減輕環(huán)境負(fù)擔(dān),也是響應(yīng)黨的十七大“節(jié)能減排”的號(hào)召,貫徹可持續(xù)發(fā)展的戰(zhàn)略,將二手商品充分合理的利用很是必要,因此二手交易市場(chǎng)應(yīng)運(yùn)而生。</p><p> 而傳統(tǒng)的二手交易市場(chǎng)主要存在有以下問(wèn)題:</p><p> (1)信息流動(dòng)滯后。對(duì)于買方想要獲得二手交易市場(chǎng)的商品信息必須跑去跳蚤市場(chǎng)或是尋找公告板上張貼的廣
3、告。而對(duì)于賣方想要使自己想賣的物品信息傳播出去要么破費(fèi)去張貼廣告,要么就是節(jié)假日去跳蚤市場(chǎng)擺攤。信息傳播具有較大的滯后性。</p><p> ?。?)網(wǎng)絡(luò)利用率低。隨著現(xiàn)在電子信息化的開(kāi)展,網(wǎng)絡(luò)的建設(shè)已經(jīng)進(jìn)入一個(gè)更加高速發(fā)展的時(shí)期,傳統(tǒng)的二手交易市場(chǎng)沒(méi)有充分利用這些現(xiàn)有的網(wǎng)絡(luò)設(shè)備資源。</p><p> 所以,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)應(yīng)用的普及,利用網(wǎng)絡(luò)構(gòu)建二手交易平臺(tái)系統(tǒng)勢(shì)在必行
4、。</p><p> 本課題為同城二手交易系統(tǒng),手上有閑置物品的同學(xué)只需要登錄本系統(tǒng),注冊(cè)一個(gè)賬號(hào),經(jīng)過(guò)管理員的認(rèn)可即可成為系統(tǒng)的會(huì)員,這樣就可以將自己的二手物品發(fā)布到網(wǎng)上進(jìn)行交易,這樣就避免了同學(xué)擺地?cái)偸帐畚锲返穆闊?,方便了供求雙方,也避免了到處張貼小廣告的麻煩,美化了校園環(huán)境,為低碳生活盡一份力。2 編程語(yǔ)言與開(kāi)發(fā)工具介紹</p><p> 同城二手交易系統(tǒng)采用B/S模式開(kāi)發(fā),用
5、Microsoft Visual Studio 2008作為開(kāi)發(fā)工具,用C#語(yǔ)言和.NET技術(shù)等實(shí)現(xiàn)程序開(kāi)發(fā),用Microsoft SQL Server 2005作為后臺(tái)數(shù)據(jù)支持。下面對(duì)這些技術(shù)進(jìn)行詳細(xì)的介紹:</p><p> 2.1 B/S開(kāi)發(fā)模式</p><p> B/S型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大特點(diǎn)是:用戶可以通過(guò)WWW瀏覽器去訪問(wèn)Internet上的文本、數(shù)
6、據(jù)、圖像、動(dòng)畫、視頻點(diǎn)播和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個(gè)Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中。客戶端除了WWW瀏覽器,一般無(wú)須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨
7、大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。B/S架構(gòu)軟件的優(yōu)勢(shì)如下:</p><p> 2.1.1 維護(hù)和升級(jí)方式</p><p> 目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來(lái)越頻繁,B/S模式大大簡(jiǎn)化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對(duì)于B/S而言,開(kāi)發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行升級(jí)時(shí),只需更新服務(wù)器端的軟件就可以,這減輕了
8、異地用戶系統(tǒng)維護(hù)與升級(jí)的成本。如果客戶端的軟件系統(tǒng)升級(jí)比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢(shì)明顯——所有的 升級(jí)操作只需要針對(duì)服務(wù)器進(jìn)行,這對(duì)那些點(diǎn)多面廣的應(yīng)用是很有價(jià)值的,例如一些招聘網(wǎng)站就需要采用B/S模式,客戶端分散,且應(yīng)用簡(jiǎn)單,只需要進(jìn)行簡(jiǎn)單的瀏覽和少量信息的錄入。 </p><p> 2.1.2 系統(tǒng)的性能 </p><p> 在系統(tǒng)的性能方面,B/S占有優(yōu)勢(shì)的是其異地瀏覽和信息
9、采集的靈活性。任何時(shí)間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。不過(guò),采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡(jiǎn)單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。采用C/S結(jié)構(gòu)時(shí),客戶端和服務(wù)器端都能夠處理任務(wù),這雖然對(duì)客戶機(jī)的要求較高,但因此可以減輕服務(wù)器的壓力。而且,由于客戶端使用瀏覽器,使得網(wǎng)上發(fā)布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式
10、文件(也就是Web頁(yè)面)不便于編輯修改,給文件管理帶來(lái)了許多不便。</p><p> 2.2 Microsoft Visual Studio 2008 開(kāi)發(fā)平臺(tái)</p><p> Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代開(kāi)發(fā)工具,是對(duì)Visual Studio 2005一次全面的升級(jí)。VS
11、2008引入了250多個(gè)新特性,整合了對(duì)象、關(guān)系型數(shù)據(jù)、XML的訪問(wèn)方式,語(yǔ)言更加簡(jiǎn)潔。作為Microsoft推出的新一代集成開(kāi)發(fā)工具Visual Studio 2008,它不但彌補(bǔ)了早期版本的不足,功能上也進(jìn)行了相關(guān)的新增和增強(qiáng)。下面則詳細(xì)介紹:</p><p> 2.2.1集成開(kāi)發(fā)環(huán)境的改進(jìn)和增強(qiáng)</p><p> 如果在同一臺(tái)計(jì)算機(jī)已安裝了Visual Studio 2005,則
12、安裝Visual Studio2008后,在首次啟動(dòng)Visual Studio 2008時(shí),可以遷移Visual Studio 2005中的大多數(shù)功能。Visual Studio 2008中,對(duì)一些用戶界面元素進(jìn)行了更新。IDE導(dǎo)航界面在被改進(jìn)后,可以比較輕松地在各項(xiàng)之間進(jìn)行切換;改進(jìn)后的工具窗口停靠目標(biāo),使停靠工具窗口比較輕松。Visual Studio 2008使用了Windows標(biāo)準(zhǔn)對(duì)話框,使導(dǎo)航體驗(yàn)更貼近于Windows中的導(dǎo)航
13、體驗(yàn)。類設(shè)計(jì)器增加了對(duì)Visual C++代碼的支持。Visual Studio的較早版本中,類設(shè)計(jì)器僅支持托管語(yǔ)言?,F(xiàn)在,Visual Studio 2008的類設(shè)計(jì)器增加了對(duì)本機(jī)C++代碼的有限支持,但只可用于可視化和文檔。</p><p> 2.2.2 項(xiàng)目和解決方案的增強(qiáng)</p><p> Web應(yīng)用項(xiàng)目中:新的web應(yīng)用程序項(xiàng)目模型包含了一個(gè)基于項(xiàng)目文件的結(jié)構(gòu)和一個(gè)
14、基于將項(xiàng)目的所有代碼編譯到單個(gè)程序集的生成模型。此外,新的項(xiàng)目類型還支持Visual Studio 2005以及ASP.NET2.0版的許多新增功能,如母板頁(yè),數(shù)據(jù)控件,成員資格與登錄,角色管理,web控件,個(gè)性化設(shè)置,網(wǎng)站導(dǎo)航和主題。</p><p> Ajax開(kāi)發(fā):支持基于服務(wù)器的Ajax開(kāi)發(fā)的服務(wù)器控件。通過(guò)這些控件,用很少或者不用客戶端腳本代碼,就可以輕松地在頁(yè)面中進(jìn)行部分更新,這樣可以避免整頁(yè)回發(fā)所產(chǎn)
15、生的系統(tǒng)開(kāi)銷。</p><p> 項(xiàng)目設(shè)計(jì)器:項(xiàng)目設(shè)計(jì)器支持對(duì)Windows Pressentiation Foundation(WPF)應(yīng)用程序,web應(yīng)用程序項(xiàng)目的開(kāi)發(fā)設(shè)計(jì),并且支持多定向。如果在Visual Studio 2008 IDE中加載了WPF項(xiàng)目,則可以通過(guò)項(xiàng)目設(shè)計(jì)器頁(yè)的用戶界面制定特定于WPF應(yīng)用程序的屬性。新的應(yīng)用程序項(xiàng)目模型對(duì)Visual Studio 2005和ASP.NET 2.0的功
16、能進(jìn)行了更新,并通過(guò)使用多目標(biāo)功能,控制編寫代碼面向特定的.NET Framework版本,.NET Framework2.0,.NET Framework3.0和.NET Framework 3.5。</p><p> 2.2.3編輯器的改進(jìn)和增強(qiáng)</p><p> CSS編輯器:Visual Studio 2008可以讓用戶體驗(yàn)到豐富的CSS編輯功能,從而比以前更加輕松地使用CSS
17、。</p><p> 增強(qiáng)的代碼只能感應(yīng):代碼的智能感應(yīng)很大的改進(jìn),現(xiàn)在支持Jscript和ASP.NET Ajax腳本編寫。網(wǎng)頁(yè)中的客戶端腳本不但具有IntelliSense的優(yōu)點(diǎn),而且IntelliSense還顯示XML代碼注釋。Xml代碼注釋用于描寫過(guò)客戶端腳本的摘要,參數(shù)和返回詳細(xì)信息。</p><p> 對(duì)象瀏覽器和查找符號(hào)對(duì)多目標(biāo)的支持:現(xiàn)在可以指定對(duì)象瀏覽器只顯示.NET
18、 Framework或.NET Compact Framework的單一版本信息。</p><p> WPF設(shè)計(jì)器:通過(guò)使用WPF設(shè)計(jì)器,可以在IDE中創(chuàng)建WPF應(yīng)用程序和自定義控件。WPF設(shè)計(jì)器不僅具有XAML實(shí)時(shí)編輯功能,還對(duì)用戶的圖形設(shè)計(jì)時(shí)的體驗(yàn)進(jìn)行了改善。</p><p> 網(wǎng)頁(yè)設(shè)計(jì)器:Visual Studio 2008在網(wǎng)頁(yè)設(shè)計(jì)的“設(shè)計(jì)視圖”,“源視圖”基礎(chǔ)上,增加了一個(gè)“
19、拆分”視圖。</p><p> 2.2.4客戶端應(yīng)用程序服務(wù)</p><p> 客戶端應(yīng)用程序服務(wù)是.NET Framework 3.5中的新增功能,這些服務(wù)使基于Windows的應(yīng)用程序可以方便地訪問(wèn)ASP.NET登錄,角色和配置文件服務(wù)。通過(guò)這些服務(wù),可以對(duì)用戶進(jìn)行身份驗(yàn)證,并且從共享服務(wù)器中檢索用戶角色和應(yīng)用程序設(shè)置。</p><p> 2.3 Mic
20、rosoft SQL Server 2005數(shù)據(jù)庫(kù)平臺(tái)</p><p> SQL Server 2005 是建立在SQL Server 7.0 在可伸縮性、可用性、可管理性和數(shù)據(jù)倉(cāng)庫(kù)成功的基礎(chǔ)上,并且引入了針對(duì)電子商務(wù)的重要新功能。在高性能和企業(yè)級(jí)可伸縮性領(lǐng)域,SQL Server 2005 設(shè)計(jì)成利用Windows2000 對(duì)更多處理器、更大的系統(tǒng)內(nèi)存的支持,最終達(dá)到支持64 位硬件平臺(tái)。在不斷提升可用性的努
21、力過(guò)程中,SQL Server 2005 采用Windows 2000 四路群集,提供了大大改進(jìn)的群集支持。SQL Server 7.0 已經(jīng)在可管理性和易用性方面在行業(yè)內(nèi)領(lǐng)先,SQL Server 2005 通過(guò)與Windows 2000 活動(dòng)目錄緊密結(jié)合進(jìn)一步改進(jìn)了這些功能。而且,SQL Server 2005 還包含對(duì)現(xiàn)有管理工具和實(shí)用程序的重大改進(jìn),并引入更具自我調(diào)節(jié)和自我管理的引擎功能。SQL Server 2005 按照設(shè)計(jì)
22、可以為部署和維護(hù)強(qiáng)大的、易于管理、支持商務(wù)活動(dòng)的Web 站點(diǎn)提供最好的性能,這些站點(diǎn)可以從事商家和商家之間或商家與客戶之間的交易。在尋求一個(gè)支持您的電子商務(wù)解決方案的數(shù)據(jù)庫(kù)時(shí),需要考慮的項(xiàng)目包括:可用性、性能、可管理性和</p><p> 2.4 ASP.NET技術(shù)</p><p> 2.4.1 ASP.NET簡(jiǎn)介</p><p> ASP.NET技術(shù)是Mic
23、rosoft公司推出的新一代動(dòng)態(tài)Web開(kāi)發(fā)工具,是電子商務(wù)、電子政務(wù)、遠(yuǎn)程教育等Web應(yīng)用開(kāi)發(fā)的主流技術(shù)之一。ASP.NET不同于ASP,它是建立在.NET Framework之上,提供了更易于編寫且結(jié)構(gòu)更清晰的代碼,它使用VB.NET和C#等模塊化語(yǔ)言編寫程序,提高了代碼的再利用性和共享性。ASP.NET在結(jié)構(gòu)上幾乎完全基于組件和模塊化的,Web應(yīng)用程序的開(kāi)發(fā)人員使用這個(gè)開(kāi)發(fā)環(huán)境可以實(shí)現(xiàn)更加模塊化的、功能更強(qiáng)大的應(yīng)用程序。</p
24、><p> 2.4.2 ASP.NET的優(yōu)點(diǎn)</p><p> ASP.NET的優(yōu)點(diǎn)主要體現(xiàn)在效率高、可重用性高、代碼量少這三方面。在使用ASP進(jìn)行程序設(shè)計(jì)的時(shí)候,由于ASP使用的是腳本語(yǔ)言,所有的代碼都嵌入到HTML代碼中,所以當(dāng)編制功能復(fù)雜的網(wǎng)頁(yè)時(shí),就需要編寫大量的代碼,而且會(huì)導(dǎo)致程序代碼的可讀性差的問(wèn)題。另外,由于所有的代碼都是解釋執(zhí)行的,所以相對(duì)速度較慢,并且無(wú)法有效地利用機(jī)器硬件
25、的各種性能。ASP.NET與ASP相比較效率更高,提供了很高的可重用性,對(duì)于實(shí)現(xiàn)同樣功能的程序,ASP.NET使用的代碼量比ASP要少得多。ASP.NET采用全新的編程環(huán)境,代表了技術(shù)發(fā)展的主流方向。</p><p> 2.4.3 ASP.NET的工作原理</p><p> 首先,有一個(gè)HTTP請(qǐng)求發(fā)送到Web服務(wù)器要求訪問(wèn)一個(gè)Web網(wǎng)頁(yè)。Web服務(wù)器通過(guò)分析客戶的HTTP請(qǐng)求來(lái)定位所
26、請(qǐng)求網(wǎng)頁(yè)的位置。如果所請(qǐng)求的網(wǎng)頁(yè)的文件名的后綴是aspx,那么就把這個(gè)文件傳送到aspnet_isapi.dll進(jìn)行處理,由aspnet_isapi.dll把ASP.NET代碼提交給CLR。如果以前沒(méi)有執(zhí)行過(guò)這個(gè)程序,那么就由CLR編譯并執(zhí)行,得到純HTML結(jié)果;如果已經(jīng)執(zhí)行過(guò)這個(gè)程序,那么就直接執(zhí)行編譯好的程序并得到純HTML結(jié)果。最后把這些純HTML結(jié)果傳回瀏覽器作為HTTP響應(yīng)。瀏覽器收到這個(gè)響應(yīng)之后,就可以顯示W(wǎng)eb網(wǎng)頁(yè)。<
27、;/p><p><b> 3 需求分析</b></p><p> 3.1 系統(tǒng)需求分析</p><p> 3.1.1 系統(tǒng)首頁(yè)</p><p> 用戶點(diǎn)擊服務(wù)器網(wǎng)址,首先進(jìn)入網(wǎng)站的首頁(yè),首頁(yè)顯示點(diǎn)擊率最高的數(shù)件商品和數(shù)件商品的圖片。首頁(yè)集成了二手物品出售、求購(gòu)信息的瀏覽,關(guān)于,幫助和用戶登錄注冊(cè)。物品信息簡(jiǎn)單介紹
28、求購(gòu)、出售商品信息的一部分內(nèi)容,用戶可以點(diǎn)擊詳細(xì)信息查看全部?jī)?nèi)容,用戶也可以點(diǎn)擊求購(gòu)信息(或其他信息)中的每一行中的詳細(xì)信息查看每一條的完整信息。公告用來(lái)顯示一些最新的信息。</p><p><b> 3.1.2系統(tǒng)登錄</b></p><p> 只有登錄的會(huì)員才有權(quán)限進(jìn)行發(fā)布。所以用戶要想發(fā)布商品信息必須先登錄,而如果是新用戶就要注冊(cè)成為網(wǎng)站的會(huì)員再進(jìn)行登錄,然
29、后來(lái)使用網(wǎng)站提供的功能。用戶登錄時(shí)輸入用戶名和密碼首先校驗(yàn)用戶名是否合法(用戶名只能是2到10位中英文字符),是否為合法的會(huì)員,驗(yàn)證成功后進(jìn)入系統(tǒng),并且根據(jù)用戶的角色顯示不同的頁(yè)面。</p><p> 3.1.3 系統(tǒng)注冊(cè)</p><p> 輸入注冊(cè)所需的資料提交內(nèi)容:用戶名(只能是2到10位中英文字符)、密碼、確認(rèn)密碼、聯(lián)系方式(7到11位數(shù)字)、登錄權(quán)限,并與管理員取得聯(lián)系,獲得管
30、理員的同意即可成為系統(tǒng)的用戶。</p><p> 3.1.4 系統(tǒng)人員管理</p><p> 此部分功能只有管理員才有權(quán)限。系統(tǒng)人員管理包括以下內(nèi)容:</p><p><b> a新增會(huì)員</b></p><p> 會(huì)員從網(wǎng)站注冊(cè),添加必要的用戶信息等待管理員的認(rèn)可。而這些注冊(cè)用戶信息會(huì)在管理員登陸的時(shí)候在頁(yè)面上
31、顯示,有幾個(gè)用戶在該網(wǎng)站上注冊(cè),管理員查看新注冊(cè)的用戶,并對(duì)新注冊(cè)的用戶進(jìn)行認(rèn)可,或者是刪除注冊(cè)信息。經(jīng)過(guò)管理員認(rèn)可的注冊(cè)用戶即可成為正式的會(huì)員。</p><p><b> b 修改會(huì)員</b></p><p> 管理員可以查看會(huì)員及會(huì)員發(fā)布的商品信息,也可以修改會(huì)員的信息,比如修改會(huì)員的聯(lián)系方式或者是用戶的權(quán)限。</p><p> 需要
32、說(shuō)明的是會(huì)員可以修改自己的信息,但與管理員不同的是會(huì)員不能修改自己的權(quán)限。</p><p><b> c 刪除會(huì)員</b></p><p> 管理員有權(quán)利刪除用戶和用戶發(fā)布的商品信息,在刪除用戶的時(shí)候系統(tǒng)彈出確認(rèn)框,在確認(rèn)后則刪除對(duì)應(yīng)的用戶和用戶所上傳的商品信息。</p><p><b> d 查看會(huì)員</b><
33、;/p><p> 管理員可以查看用戶發(fā)布的商品的信息,并可以在彈出的用戶發(fā)布的信息中刪除用戶上傳的商品信息。</p><p> 3.1.5 商品信息管理</p><p> 此部分功能只有會(huì)員有權(quán)限,商品信息管理包括以下內(nèi)容:</p><p><b> a 新增商品信息</b></p><p>
34、; 會(huì)員登陸后可以新增商品信息,提供商品的一些基本屬性,比如商品的名稱,價(jià)格,數(shù)量,圖片等。</p><p><b> b 修改商品信息</b></p><p> 會(huì)員登陸后可以修改商品的信息,如商品的名稱,價(jià)格,數(shù)量,圖片等。</p><p><b> c 刪除商品信息</b></p><p&
35、gt; 若是會(huì)員的某件商品已經(jīng)賣出,用戶可以將商品信息列表中對(duì)應(yīng)的商品信息刪除,在刪除的時(shí)候系統(tǒng)彈出確認(rèn)框,在確認(rèn)后刪除對(duì)應(yīng)的商品信息。</p><p> 3.2 可行性分析</p><p> 如果沒(méi)有資源和時(shí)間上的限制,任何項(xiàng)目都將是可行的,但是在現(xiàn)有資源條件下,要在規(guī)定時(shí)間內(nèi)完成項(xiàng)目開(kāi)發(fā),則必須細(xì)致而謹(jǐn)慎的評(píng)估項(xiàng)目的可行性。在設(shè)計(jì)校園二手物品拍賣系統(tǒng)之前,做了大量的信息調(diào)查,并
36、且完成了項(xiàng)目中各個(gè)功能模塊的需求分析,模塊之間的關(guān)系,嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)庫(kù)設(shè)計(jì)及關(guān)系的明確。在完成項(xiàng)目過(guò)程中,及時(shí)的對(duì)各個(gè)模塊進(jìn)行測(cè)試,保證了系統(tǒng)的正常運(yùn)行。軟件開(kāi)發(fā)時(shí),良好的需求分析,系統(tǒng)設(shè)計(jì),系統(tǒng)的實(shí)現(xiàn),及時(shí)的軟件運(yùn)行、測(cè)試、維護(hù)是完成一個(gè)合格系統(tǒng)必須做到的,在校園二手物品拍賣系統(tǒng)中,我時(shí)刻注意到了這些,這使我的項(xiàng)目能夠順利完成的保證。</p><p> 3.3 系統(tǒng)開(kāi)發(fā)目標(biāo)</p><p&g
37、t; 系統(tǒng)將基本涵蓋校園二手物品管理的主要需求,包括前臺(tái)頁(yè)面和后臺(tái)管理,具有完善細(xì)致的功能、嚴(yán)謹(jǐn)?shù)南到y(tǒng)框架結(jié)構(gòu)、最新技術(shù)完美的使用、信息的動(dòng)態(tài)驗(yàn)證及正則表達(dá)式的匹配、強(qiáng)大的數(shù)據(jù)處理功能和較完備的安全機(jī)制。系統(tǒng)開(kāi)發(fā)的目標(biāo)是方便移動(dòng)會(huì)員的操作,提供更為友好的、主題突出的前臺(tái)用戶界面,以及實(shí)用、易用的后臺(tái)管理功能。</p><p><b> 4 概要設(shè)計(jì)</b></p><
38、;p> 在需求分析階段已經(jīng)較好地解決了要讓系統(tǒng)“做什么”的問(wèn)題,下一步要設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)的需求,即要著手解決“怎么做”的問(wèn)題。概要設(shè)計(jì)階段的主要目的就是將需求分析階段所提出的系統(tǒng)邏輯方案轉(zhuǎn)換成可以實(shí)施的基于計(jì)算機(jī)與通信系統(tǒng)的物理方案。這一階段的主要任務(wù)是從系統(tǒng)的總體目標(biāo)出發(fā),根據(jù)需求分析階段對(duì)系統(tǒng)邏輯功能的要求,并考慮到經(jīng)濟(jì)、技術(shù)和運(yùn)行環(huán)境等方面的條件,確定系統(tǒng)的總體結(jié)構(gòu)和系統(tǒng)各組成部分的技術(shù)方案,合理選擇計(jì)算機(jī)和通信的軟、硬件設(shè)備
39、,提出系統(tǒng)的實(shí)施計(jì)劃,確??傮w目標(biāo)的實(shí)現(xiàn)。</p><p> 4.1 模塊結(jié)構(gòu)設(shè)計(jì)</p><p> 系統(tǒng)采用的是B/S(客戶端/服務(wù)器)結(jié)構(gòu)模式開(kāi)發(fā)的,對(duì)整個(gè)系統(tǒng)的管理、資源分配、數(shù)據(jù)庫(kù)操作、業(yè)務(wù)邏輯部件的管理及動(dòng)態(tài)加載等工作都集中于應(yīng)用服務(wù)器。這樣一來(lái),僅僅通過(guò)提高應(yīng)用服務(wù)器及數(shù)據(jù)庫(kù)服務(wù)器的性能,就可以提高整個(gè)系統(tǒng)的運(yùn)行效率,該模式同時(shí)具有開(kāi)發(fā)時(shí)間短,成本較低,而且數(shù)據(jù)的傳輸快,
40、數(shù)據(jù)操作安全性能高等優(yōu)點(diǎn)。在系統(tǒng)中,整體框架采用流行的SSH,服務(wù)器端使用的是SQL Server 2005數(shù)據(jù)庫(kù)系統(tǒng)。根據(jù)系統(tǒng)需求分析的要求,設(shè)計(jì)實(shí)現(xiàn)系統(tǒng)功能的各個(gè)主要模塊框架如圖4.1所示。另外,后臺(tái)管理的用例模型圖如圖4.2所示。</p><p> 圖4.1 功能模塊結(jié)構(gòu)圖</p><p> 圖4.2 后臺(tái)管理用例模型圖</p><p> 4.2
41、 模塊功能設(shè)計(jì)</p><p> 4.2.1會(huì)員登錄系統(tǒng)操作</p><p> 用例名稱:會(huì)員登錄</p><p> 功能簡(jiǎn)述:會(huì)員進(jìn)行的任何操作,都必須首先完成登錄操作才可進(jìn)入系統(tǒng)。此用例用于處理會(huì)員的登錄。</p><p> 后置條件:是否登錄成功,登錄成功獲得會(huì)員的角色。</p><p> 前置條件
42、:會(huì)員存在。</p><p> 基本流:會(huì)員在界面中輸入會(huì)員登陸名(2到10位中英文字符)和密碼,并提交。</p><p> 判斷會(huì)員輸入的會(huì)員ID和密碼是否匹配,并且確定會(huì)員的角色(管理員還是一般會(huì)員);會(huì)員的密碼采用MD5方式進(jìn)行加密處理。</p><p> 備注: 會(huì)員、管理員都具有此權(quán)限。</p><p> 4.2.2
43、新增會(huì)員操作</p><p><b> 用例名稱:新增會(huì)員</b></p><p> 功能簡(jiǎn)述:管理員查看注冊(cè)會(huì)員信息:登錄名、姓名、密碼、角色(一般會(huì)員還是管理員)。根據(jù)信息添加新的會(huì)員。</p><p> 后置條件:新增會(huì)員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有管理員身份。&l
44、t;/p><p> 基本流:會(huì)員在注冊(cè)頁(yè)面輸入自己的基本信息:登錄名(2到10位中英文字符)、密碼、角色;</p><p> 動(dòng)態(tài)驗(yàn)證,并利用正則表達(dá)式匹配;</p><p> 提交保存到數(shù)據(jù)庫(kù)中;</p><p><b> 返回操作的結(jié)果。</b></p><p> 備注: 只有系統(tǒng)管
45、理員有權(quán)限完成此功能。</p><p> 4.2.3 修改會(huì)員操作</p><p><b> 用例名稱:修改會(huì)員</b></p><p> 功能簡(jiǎn)述:此功能主要是對(duì)會(huì)員的資料進(jìn)行修改。</p><p> 后置條件:修改會(huì)員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具
46、有管理員身份。</p><p> 基本流:在表單中已經(jīng)具有用戶的基本信息,用戶可對(duì)某些資料進(jìn)行修改,或者進(jìn)行全部的修改;</p><p> 動(dòng)態(tài)驗(yàn)證,并利用正則表達(dá)式匹配;</p><p> 將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中;</p><p><b> 返回操作的結(jié)果。</b></p><p>
47、備注只有系統(tǒng)管理員有權(quán)限完成此功能。</p><p> 4.2.4 刪除會(huì)員操作</p><p><b> 用例名稱:刪除會(huì)員</b></p><p> 功能簡(jiǎn)述:此功能主要是對(duì)會(huì)員的刪除的操作。</p><p> 后置條件:刪除會(huì)員是否成功的信息提示。</p><p> 前置條件:登
48、錄成功,并且具有管理員身份。</p><p> 基本流:列出系統(tǒng)中所有的用戶,在對(duì)應(yīng)的用戶名前面都有一個(gè)復(fù)選框,管理員選中復(fù)選框,點(diǎn)擊刪除按鈕,系統(tǒng)彈出確認(rèn)框,點(diǎn)擊確認(rèn)則刪除對(duì)應(yīng)的用戶,和用戶所上傳的信息;</p><p> 備注: 只有系統(tǒng)管理員有權(quán)限完成此功能。</p><p> 4.2.5查看會(huì)員上傳商品信息操作</p><p&g
49、t; 用例名稱:查看會(huì)員信息</p><p> 功能簡(jiǎn)述:此功能是查看會(huì)員上傳商品信息。</p><p><b> 后置條件:無(wú)</b></p><p> 前置條件:登錄成功,并且具有管理員身份。</p><p> 基本流:管理員可以查看任意會(huì)員上傳商品的信息,并有權(quán)刪除商品信息。</p>&l
50、t;p> 備注: 只有系統(tǒng)管理員有權(quán)限完成此功能。</p><p> 4.2.6添加商品信息操作</p><p> 用例名稱:添加商品信息</p><p> 功能簡(jiǎn)述:此功能是添加商品的信息。</p><p> 后置條件:添加信息成功,并有成功添加的提示。</p><p> 前置條件:登錄成功,且具
51、有會(huì)員身份。</p><p> 基本流: 在表單中輸入相應(yīng)的商品信息;輸入商品名(2到50位任意字符),價(jià)格(數(shù)字),數(shù)量(數(shù)字),選擇商品類別,和新舊程度;</p><p> 保存商品信息,返回操作的結(jié)果。</p><p> 備注: 只有會(huì)員具有此權(quán)限。</p><p> 4.2.7修改商品信息操作</p><
52、;p> 用例名稱:修改商品信息</p><p> 功能簡(jiǎn)述:此功能主要是對(duì)商品的資料進(jìn)行修改。</p><p> 后置條件:修改商品信息是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有會(huì)員身份。</p><p> 基本流: 在表單中已經(jīng)具有商品的原有的基本信息,用戶可對(duì)某些信息進(jìn)行修改,或者進(jìn)行全
53、部的修改;動(dòng)態(tài)驗(yàn)證用戶輸入的字符是否合理;</p><p> 將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中;</p><p><b> 返回操作的結(jié)果。</b></p><p> 備注: 只有會(huì)員有權(quán)限完成此功能。</p><p> 4.2.8 刪除商品信息操作</p><p> 用例名稱:刪除商品信息&l
54、t;/p><p> 功能簡(jiǎn)述:此功能主要是對(duì)商品信息的刪除的操作。</p><p> 后置條件:刪除會(huì)員是否成功的信息提示。</p><p> 前置條件:登錄成功,并且具有會(huì)員身份。</p><p> 基本流:列出該會(huì)員上傳的所有商品信息,在對(duì)應(yīng)的商品信息前面都有一個(gè)復(fù)選框,會(huì)員選中復(fù)選框,點(diǎn)擊刪除按鈕,系統(tǒng)彈出確認(rèn)框,點(diǎn)擊確認(rèn)則
55、刪除對(duì)應(yīng)的商品信息;</p><p> 備注: 只有會(huì)員有權(quán)限完成此功能。</p><p> 4.2.9 修改會(huì)員個(gè)人信息操作</p><p> 用例名稱:修改個(gè)人信息</p><p> 功能簡(jiǎn)述:此功能主要是對(duì)會(huì)員的資料進(jìn)行修改。</p><p> 后置條件:修改會(huì)員是否成功的信息提示。</p
56、><p> 前置條件:登錄成功,并且具有會(huì)員身份。</p><p> 基本流: 此處和4.2.3修改會(huì)員操作差不多,唯一不同的是管理員有權(quán)修改用戶的權(quán)限。動(dòng)態(tài)驗(yàn)證,并利用正則表達(dá)式匹配;</p><p> 將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中;</p><p><b> 返回操作的結(jié)果。</b></p><
57、p> 備注: 只有系統(tǒng)管理員有權(quán)限完成此功能。</p><p> 4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 對(duì)大多數(shù)應(yīng)用系統(tǒng)而言,很大程度上都是圍繞對(duì)數(shù)據(jù)庫(kù)的操作展開(kāi)的,數(shù)據(jù)庫(kù)本身才是應(yīng)用系統(tǒng)的核心部分,程序界面只是提供用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的組織與管理的接口。任何數(shù)據(jù)庫(kù)結(jié)構(gòu)的變更都很可能導(dǎo)致界面程序的改動(dòng),因此,良好的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)在項(xiàng)目開(kāi)發(fā)時(shí)至關(guān)重要。</p>
58、<p> 4.3.1 數(shù)據(jù)結(jié)構(gòu)分析</p><p> 根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,數(shù)據(jù)庫(kù)需要存儲(chǔ)的信息如下:</p><p> 會(huì)員信息:會(huì)員ID、會(huì)員登陸名、會(huì)員密碼、聯(lián)系方式、是否為管理員、是否為用戶。</p><p> 商品信息:商品ID、商品名稱、商品描述、商品新舊程度、聯(lián)系人、商品點(diǎn)擊數(shù)、商品數(shù)量、商品類別、商品圖片、
59、商品價(jià)格、商品發(fā)布時(shí)間。</p><p> 商品類別信息:類別名稱,類別ID </p><p> 會(huì)員信息表中會(huì)員ID為主鍵,商品信息表中商品ID為主鍵,聯(lián)系人為外鍵,對(duì)應(yīng)會(huì)員信息表中的會(huì)員ID,商品類別為外鍵,對(duì)應(yīng)商品類別中的類別ID。商品類別信息表中類別ID為主鍵。數(shù)據(jù)庫(kù)E-R圖如下:</p><p> 圖4.3 系統(tǒng)數(shù)據(jù)E-R圖</p>&
60、lt;p> 4.3.2 數(shù)據(jù)庫(kù)物理設(shè)計(jì)</p><p> 根據(jù)功能要求在SQL Server中建立各數(shù)據(jù)表,數(shù)據(jù)表清單如表4.1。</p><p> 表4.1 數(shù)據(jù)庫(kù)mobile的數(shù)據(jù)表清單</p><p> 數(shù)據(jù)庫(kù)中表詳細(xì)信息以及結(jié)構(gòu)如以下:</p><p> 表4.3 商品信息表(Goods)</p>&
61、lt;p> 表4.2 會(huì)員信息表(User)</p><p> 表4.4 商品類別表(sorts)</p><p><b> 5 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p> 5.1 系統(tǒng)操作流程</p><p> 前臺(tái)頁(yè)面統(tǒng)一使用style.css樣式單實(shí)現(xiàn)頁(yè)面風(fēng)格的統(tǒng)一,并使用使用time.html
62、來(lái)顯示當(dāng)前的時(shí)間信息。</p><p> 5.1.1 會(huì)員登錄模塊</p><p> 圖5.2.1 登錄系統(tǒng)界面</p><p> 在上圖所示的登錄表單中輸入用戶名和密碼,單擊“登陸”按鈕登錄,如果會(huì)員輸入的用戶名不存在或是不正確,則會(huì)刷新頁(yè)面。</p><p> 5.1.2 添加人員模塊</p><p>
63、 5.1.3 刪除人員模塊</p><p> 管理員在主頁(yè)面,然后點(diǎn)擊刪除按鈕,在確認(rèn)刪除后刪除該用戶。</p><p> 5.2.5 刪除用戶界面</p><p> 文本框里的數(shù)據(jù)是原有的數(shù)據(jù),可以進(jìn)行修改,修改時(shí)用戶名為2到10位中英文字符,聯(lián)系方式為7到11位數(shù)字字符。用戶輸入完用戶名,當(dāng)焦點(diǎn)離開(kāi)用戶名對(duì)應(yīng)的文本框時(shí),系統(tǒng)無(wú)刷新提交用戶名,在數(shù)據(jù)庫(kù)中
64、查詢此用戶名是否已經(jīng)存在,若存在,提示用戶換一個(gè)用戶名;若不存在則告知用戶此用戶名可用。修改完成點(diǎn)擊按鈕即可完成修改。</p><p> 前面提到無(wú)刷新提交用戶名的其實(shí)就是近幾年比較流行的AJAX技術(shù)的一種簡(jiǎn)單應(yīng)用。AJAX的概念是由Adaptive Path公司的Jesse James Garrett于2005年2月在他的一篇“Ajax:A New Approach to Web Applications”中
65、提出的,在文章中把綜合運(yùn)用JavaScript、XHTML、CSS、DOM、XMLHttprequest、XML和XSLT等技術(shù)來(lái)改善B/S結(jié)構(gòu)客戶端用戶體驗(yàn)效果的方法稱為AJAX(Asynchronous JavaScript And Xml)。AJAX如果被翻譯成中文應(yīng)成為“異步的JavaScript和XML”。 在頁(yè)面中是由AJAX技術(shù)主要是加快會(huì)員的操作。</p><p> 在系統(tǒng)中,Prototype
66、.js是提供最基本的一個(gè)AJAX工具類,下面介紹一些AJAX的實(shí)現(xiàn)代碼:</p><p> <script type="text/javascript" src="prototype.js"></script>//添加Prototype.js到頁(yè)面</p><p> <script language="Ja
67、vascript"> </p><p> function createXHR() {</p><p><b> var xhr;</b></p><p><b> try {</b></p><p> xhr = new ActiveXObject("Msxm
68、l2.XMLHTTP");//得到瀏覽器中可以發(fā)送的http請(qǐng)求對(duì)象,本例只對(duì)IE5.0有效</p><p> } catch (e) {</p><p><b> try {</b></p><p> xhr = new ActiveXObject("Microsoft.XMLHTTP");//得到瀏覽器中
69、可以發(fā)送http請(qǐng)求的對(duì)象,只對(duì)IE5.5+有效</p><p> } catch (E) {</p><p> xhr = false;</p><p><b> }</b></p><p><b> }</b></p><p> if (!xhr &&a
70、mp; typeof XMLHttpRequest != 'undefined') {</p><p> xhr = new XMLHttpRequest();</p><p><b> }</b></p><p> return xhr;</p><p><b> } </b
71、></p><p><b> var req;</b></p><p> function checkUser(){</p><p> var checkResult = $('checkResult');</p><p> checkResult.innerHTML = "正在檢
72、測(cè)用戶ID...";</p><p> var userID = $F('userID');//得到跨瀏覽器的XMLHttpRequest對(duì)象</p><p> req = createXHR();</p><p> req.open("get", "ajax.do?checkUserID="+
73、userID);//創(chuàng)建一個(gè)異步請(qǐng)求將userID當(dāng)做參數(shù)傳到AjaxAction中做處理</p><p> req.onreadystatechange = handleRequest;</p><p> req.send(null);</p><p><b> }</b></p><p> function
74、handleRequest(){ //當(dāng)XMLHttpRequest對(duì)象從服務(wù)器獲得正確的應(yīng)答后,將調(diào)用改操作</p><p> var checkResult = $("checkResult");</p><p> if (req.readyState == 4) {</p><p> if (req.status == 200) {
75、//請(qǐng)求成功</p><p> checkResult.innerHTML = req.responseText;</p><p> }else {//網(wǎng)絡(luò)連接失敗</p><p> alert("An error occurred: "+ req.statusText);</p><p><b> }&
76、lt;/b></p><p><b> }</b></p><p><b> }</b></p><p><b> </script></b></p><p> 在頁(yè)面的表單中的代碼:</p><p> 用戶名:<inp
77、ut type="text" name="userID" id="userID" onblur="checkUser();"/></p><p> <label id="checkResult"></label></p><p> 這樣就可以通過(guò)將userI
78、D填寫完成后,由AjaxAction類來(lái)完成判斷ID是否存在,大大的節(jié)省了時(shí)間和操作。</p><p> 5.1.5 添加商品模塊</p><p> 點(diǎn)擊會(huì)員界面下方的添加商品按鈕,進(jìn)入添加商品界面:</p><p> 5.2.7 添加商品界面</p><p> 在此界面上填入商品名稱(2到50位任意字符),商品價(jià)格(數(shù)字),商品數(shù)
79、量(數(shù)字)等信息,上傳圖片然后提交信息。其中商品名稱,商品價(jià)格,商品數(shù)量是必須填的,商品價(jià)格若是填0則說(shuō)明是價(jià)格面議。</p><p> 本系統(tǒng)中在此模塊中使用到了文件上傳技術(shù),上傳圖片至Web應(yīng)用的根目錄下。在addGoods.jsp中添加如下代碼:</p><p> <html:form action="/uploadResource" enctype=&
80、quot;multipart/form-data"></p><p><b> <table></b></p><p> <tr><td colspan="2"><font color="red" ></p><p> <h
81、tml:errors property="messerror2"/></font></td></tr></p><p> <tr><td height="50">從指定文件導(dǎo)入:</td></p><p> <td><input type="
82、file" name="resource" size="30" value="瀏 覽"></p><p> <html:submit value="提交保存"/></p><p> <html:reset value="重新選擇"/></td
83、></tr></p><p><b> </table></b></p><p> </html:form></p><p> 注意在該代碼中使用了Struts標(biāo)記庫(kù)中的相關(guān)標(biāo)記,這是實(shí)現(xiàn)文件上傳的關(guān)鍵,同時(shí)在表單本身的form標(biāo)記中也增加了一個(gè)新的屬性enctype="multipar
84、t/form-data"以確保文件上傳成功。<input type="file" name="resource" size="30" value="瀏 覽">則可以實(shí)現(xiàn)文件瀏覽選擇,實(shí)現(xiàn)的效果如下所示:</p><p> 圖5.1.6 文件瀏覽選擇頁(yè)面效果</p><p> 同時(shí)修改S
85、truts配置文件,在struts-config.xml中添加代碼:</p><p> <form-bean name="uploadResourceForm" type="org.apache.struts.validator.DynaValidatorForm"></p><p> <form-property name=&
86、quot;resource" type="org.apache.struts.upload.FormFile" /></p><p> </form-bean></p><p> 這里的file的屬性設(shè)置的類型是“org.apache.struts.upload.FormFile”。同時(shí)在UploadResourceAction完成文件的
87、上傳:</p><p> FormFile theFile = (FormFile) uploadResourceForm.get("resource");</p><p> Date date = new Date();</p><p> String s = DateFormat.getDateTimeInstance().format
88、(date).replaceAll(" ", "_");</p><p> String fileName = s.replaceAll(":", "-");</p><p> String filePath = request.getRealPath("/");//獲取當(dāng)前系統(tǒng)路徑&l
89、t;/p><p> ActionMessages message = new ActionMessages();</p><p> if(!theFile.getFileName().equals("")){</p><p><b> try {</b></p><p> InputStream
90、stream = theFile.getInputStream();//把資源文件讀出</p><p> OutputStream bos = new FileOutputStream(filePath + fileName+theFile.getFileName());//建立一個(gè)上傳文件的輸出流以原名和當(dāng)前時(shí)間</p><p> int bytesRead = 0;</p&
91、gt;<p> byte[] buffer = new byte[8192];</p><p> while((bytesRead = stream.read(buffer, 0, 8192))!=-1){</p><p> bos.write(buffer, 0, bytesRead);//將文件寫入到當(dāng)前服務(wù)器中</p><p><b&
92、gt; }</b></p><p> bos.close();</p><p> stream.close();//關(guān)閉流操作</p><p> } catch (Exception e) {</p><p> System.out.println("上傳文件是存在問(wèn)題");</p>
93、<p><b> }</b></p><p><b> }</b></p><p> 在該類中主要借助相關(guān)的輸入/輸出流最終實(shí)現(xiàn)了文件上傳,上傳成功后,可以在Web應(yīng)用的根目錄下,觀察到成功上傳的文件。</p><p> 5.1.6 修改商品模塊</p><p> 點(diǎn)擊商品
94、名對(duì)應(yīng)的修改按鈕,即可進(jìn)入修改商品界面:</p><p> 5.2.8 修改商品界面</p><p> 5.1.7 刪除商品模塊</p><p> 會(huì)員在主頁(yè)面,選中商品名前面的復(fù)選框,然后點(diǎn)擊刪除按鈕,在確認(rèn)刪除后刪除該用戶。</p><p> 5.2.9 刪除商品界面</p><p> 5.1.8 會(huì)
95、員修改個(gè)人信息模塊</p><p> 當(dāng)會(huì)員想改個(gè)人信息的時(shí)候,可點(diǎn)擊表格下的[修改個(gè)人信息]的超鏈,進(jìn)入修改個(gè)人信息的頁(yè)面:</p><p> 5.2.10 修改個(gè)人信息界面</p><p> 需要說(shuō)的是修改用戶的身份只有管理員有這個(gè)權(quán)限,會(huì)員自己沒(méi)有這個(gè)權(quán)限。用戶修改完成點(diǎn)擊按鈕,修改即可完成。</p><p> 5.1.9 會(huì)
96、員注冊(cè)模塊</p><p> 點(diǎn)擊主頁(yè)上的[注冊(cè)]超鏈,即可進(jìn)入注冊(cè)頁(yè)面:</p><p> 5.2.11 會(huì)員注冊(cè)界面</p><p> 填入必要的信息,點(diǎn)擊注冊(cè)按鈕,等待管理員的同意,待管理員同意即可成為系統(tǒng)的會(huì)員。在等待管理員的同意的時(shí)間里,用剛剛注冊(cè)的用戶名登陸會(huì)出現(xiàn)下面界面:</p><p> 在涉及到用戶密碼的問(wèn)題時(shí),用到
97、了MD5加密技術(shù)。比如此板塊中注冊(cè)的時(shí)候,輸入會(huì)員的密碼,然后通過(guò)MD5加密技術(shù),將密碼轉(zhuǎn)換成為32位的字母和數(shù)字組成的號(hào)碼,這樣一來(lái),即使是數(shù)據(jù)庫(kù)管理員也無(wú)法直接得到任何會(huì)員的密碼信息,可以提供系統(tǒng)的安全性。MD5的代碼如下:</p><p> import java.security.*;</p><p> import java.util.*;</p><p&
98、gt; public class Md5{</p><p> public static String md5(String s){</p><p> String md5String = "";</p><p><b> try {</b></p><p> MessageDigest d
99、igest = MessageDigest.getInstance("MD5");</p><p> byte[] byteString = s.getBytes();</p><p> digest.update(byteString);</p><p> byte[] md5 = digest.digest();</p>
100、<p> StringBuffer buffer = new StringBuffer();</p><p> for(int i : md5){</p><p> if(i < 0){</p><p> i = i + 256;</p><p><b> }</b></p&
101、gt;<p> if(i < 16 ){</p><p> buffer.append("0");</p><p><b> }</b></p><p> buffer.append(Integer.toHexString(i));</p><p><b> }
102、</b></p><p> md5String = buffer.toString();</p><p> } catch (NoSuchAlgorithmException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p>
103、<p> return md5String;</p><p><b> }</b></p><p><b> }</b></p><p> 由于會(huì)員的密碼都使用了MD5加密技術(shù)進(jìn)行加密,所有在會(huì)員登錄系統(tǒng)時(shí)輸入的密碼就需要使用MD5也進(jìn)行一次加密,在判斷與數(shù)據(jù)庫(kù)中的密碼是否一致。</p>
104、<p> String password = indexForm.getString("password"); //獲取頁(yè)面中的密碼</p><p> String newPassword = MD5.md5(password); //對(duì)密碼進(jìn)行MD5加密</p><p> newPassword.equalsIgnoreCase(topera
105、tor.getOperatorPwd()) ; //比較密碼是否相同</p><p> 5.1.10 退出系統(tǒng)模塊</p><p> 單擊“退出”按鈕,系統(tǒng)將退回到登錄界面,同時(shí)將所有的session注銷,通過(guò)request.getSession().invalidate();</p><p> 來(lái)清除保存在session中的信息,提供系統(tǒng)的安全性。&l
106、t;/p><p> 最后要提到的是:在完成一個(gè)系統(tǒng)時(shí),字符集問(wèn)題很重要,在本系統(tǒng)中,使用了過(guò)濾器來(lái)將字符集過(guò)濾成為UTF-8格式的字符集。在系統(tǒng)環(huán)境中新建一個(gè)CharFilter類,讓它實(shí)現(xiàn)javax.servlet.Filter,然后完成代碼編寫:</p><p> public class CharFilter implements Filter {</p><p&
107、gt; public void destroy() {</p><p><b> }</b></p><p> public void doFilter(ServletRequest arg0, ServletResponse arg1,</p><p> FilterChain arg2) throws IOException, Se
108、rvletException {</p><p> // 將字符集設(shè)為UTF-8格式</p><p> arg0.setCharacterEncoding("UTF-8");</p><p> arg2.doFilter(arg0, arg1);</p><p><b> }</b></
109、p><p> public void init(FilterConfig arg0) throws ServletException {</p><p><b> }</b></p><p><b> }</b></p><p> 在完成代碼后,還要在系統(tǒng)WEB-INF/web.xml中添加代碼
110、:</p><p><b> <filter></b></p><p> <filter-name>charFilter</filter-name></p><p> <filter-class>filter.CharFilter</filter-class></p>
111、<p><b> </filter></b></p><p> <filter-mapping></p><p> <filter-name>charFilter</filter-name></p><p> <url-pattern>/*</url-pat
112、tern></p><p> </filter-mapping></p><p> 這樣就可以在編寫程序時(shí)不再需要考慮字符集不統(tǒng)一的問(wèn)題,而將所有的字符集都通過(guò)過(guò)濾器轉(zhuǎn)換成UTF-8格式。</p><p> 5.2 系統(tǒng)實(shí)現(xiàn)中的不足</p><p> 由于時(shí)間的限制以及個(gè)人能力等原因,本課題還存在很多缺陷,比如一些
113、信息驗(yàn)證做的不夠,構(gòu)造有點(diǎn)簡(jiǎn)單,后臺(tái)管理操作和功能不夠人性化,在查看操作結(jié)果顯示中沒(méi)有設(shè)計(jì)分頁(yè)操作,前臺(tái)界面設(shè)計(jì)也略有欠缺。</p><p><b> 結(jié) 論</b></p><p> 本次畢業(yè)設(shè)計(jì)的任務(wù)是設(shè)計(jì)校園二手物品銷售系統(tǒng),系統(tǒng)以基于Java語(yǔ)言的JSP進(jìn)行前端開(kāi)發(fā),以 MySQL作為后臺(tái)數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,Tomcat作為Web服務(wù)器,利用JDBC完成數(shù)據(jù)
114、源的連接與打開(kāi),采用B/S結(jié)構(gòu),使用SSH框架,Ajax的異步通信。系統(tǒng)的開(kāi)發(fā)基本上完成了設(shè)計(jì)任務(wù)的要求,能夠?qū)崿F(xiàn)前臺(tái)頁(yè)面顯示和添加會(huì)員、刪除會(huì)員、查看會(huì)員、添加商品、刪除商品、修改商品等功能,系統(tǒng)具有一定的安全性與信息共享性。系統(tǒng)完善了公司的管理,提高了工作效率。由于時(shí)間倉(cāng)促和個(gè)人經(jīng)驗(yàn)的不足,設(shè)計(jì)中不可避免的存在一些不完善的地方,有待在今后的工作中加以彌補(bǔ)。</p><p><b> 致 謝<
115、;/b></p><p> 在本文完成之際,謹(jǐn)向所有給予我指導(dǎo)、關(guān)心、支持和幫助的老師、同學(xué)致以衷心的感謝。</p><p> 首先,要深深感謝的是我畢業(yè)設(shè)計(jì)的zz老師。他在我的畢業(yè)設(shè)計(jì)期間,無(wú)論是在日常的學(xué)習(xí),還是在生活上都給予了嚴(yán)格的要求和親切的關(guān)懷與指導(dǎo),并時(shí)刻督促我,以高標(biāo)準(zhǔn)來(lái)要求我。因此,本次畢業(yè)設(shè)計(jì)的完成與zz老師的高度責(zé)任心是分不開(kāi)的,在此謹(jǐn)向zz老師表示最衷心的感
116、謝和最誠(chéng)摯的敬意。</p><p> 畢業(yè)設(shè)計(jì)過(guò)程中,我遇到過(guò)很多問(wèn)題,在我最需要幫助的時(shí)候同學(xué)們也給了我很多支持和幫助,大家共同探討問(wèn)題,一起試驗(yàn)、測(cè)試、解決問(wèn)題,本著獨(dú)立思考和組隊(duì)研討結(jié)合、學(xué)習(xí)更多知識(shí)、掌握更多技能的想法,大家在畢業(yè)設(shè)計(jì)過(guò)程中充分發(fā)揮了團(tuán)隊(duì)精神,解決了一個(gè)又一個(gè)的技術(shù)難題。</p><p> 最后,畢業(yè)設(shè)計(jì)的順利完成凝聚了學(xué)院各級(jí)領(lǐng)導(dǎo)的期望和辛苦,感謝各位領(lǐng)導(dǎo)對(duì)我
117、們的支持和幫助。</p><p><b> 參考文獻(xiàn)</b></p><p> 1. 夏昕、曹曉鋼、唐勇. 深入淺出Hibernate. 北京:電子工業(yè)出版社.2004</p><p> 2. 孫衛(wèi)琴. 精通Hibernate. 北京:電子工業(yè)出版社.2005 </p><p> 3. Hans Bergst
118、an. JSP設(shè)計(jì). 北京:清華大學(xué)出版社.2002</p><p> 4. 羅時(shí)飛. 精通Spring . 北京:電子工業(yè)出版社.2005</p><p> 5. 李剛. 輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn). 北京:電子工業(yè)出版社.2004</p><p> 6. Ted Husted、Cedric Dumoulin、George Franciscus、David
119、Winterfeld . Struts in Action. Manning Publication.2004</p><p> 7. 孫衛(wèi)琴. 基于MVC的JavaWeb設(shè)計(jì)與開(kāi)發(fā). 北京:電子工業(yè)出版社.2005</p><p> 8. 陳剛. Eclipse從入門到精通. 北京:清華大學(xué)出版社.2005</p><p> 9. Joshua Bloc
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php二手交易系統(tǒng)
- 校園二手交易系統(tǒng)詳細(xì)設(shè)計(jì)
- 畢業(yè)論文——基于bs結(jié)構(gòu)的二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 本科畢業(yè)論文web校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 在線二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——商品評(píng)價(jià)功能【畢業(yè)論文】
- 校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——商品評(píng)價(jià)功能【畢業(yè)論文】
- 在線二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 校園二手交易市場(chǎng)系統(tǒng)詳細(xì)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文大學(xué)生二手交易網(wǎng)站
- 大學(xué)生二手交易網(wǎng)站畢業(yè)論文
- 大學(xué)生二手交易網(wǎng)站畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---web校園二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 大學(xué)生二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 校園二手交易系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 校園二手交易系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 基于Android的校園二手交易系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 校園二手交易網(wǎng)站畢業(yè)設(shè)計(jì)論文
- 基于bs結(jié)構(gòu)的二手交易系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論