版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、jsp網(wǎng)絡(luò)購(gòu)物系統(tǒng)2010 屆畢業(yè)設(shè)計(jì)(論文) java網(wǎng)絡(luò)購(gòu)物系統(tǒng) 系 、 部: 計(jì)算機(jī)與信息科學(xué)系 學(xué)生姓名: 畢 烽 指導(dǎo)教師: 彭戴文 專 業(yè): 計(jì)算機(jī)應(yīng)用 班 級(jí): 0701 學(xué) 號(hào): 301070101 2010 年 5 月目錄目 錄 2前 言3一、 java的網(wǎng)絡(luò)功能與編程 41、1java語(yǔ)言簡(jiǎn)介41、2jsp技術(shù)簡(jiǎn)介 61、2、1在windows平臺(tái)配置jsp運(yùn)行環(huán)境 9二、網(wǎng)站的功能設(shè)計(jì) 102、1網(wǎng)站功能分析 102、2平臺(tái)功能模塊的設(shè)計(jì) 102、3系統(tǒng)流程分析 112、3、1前臺(tái)購(gòu)物流程圖112、3、2后臺(tái)購(gòu)物流程圖122、3、3注冊(cè)功能流程圖122、3、4商品搜索流程
2、圖132、3、5用戶登錄流程圖132、3、6商品管理流程圖142、3、7購(gòu)物車流程圖14三、數(shù)據(jù)庫(kù)設(shè)計(jì)153、1顧客信息基本表153、2商品信息表153、3商品分類表153、4訂單表153、5訂單詳細(xì)信息表163、6管理員信息表163、7數(shù)據(jù)庫(kù)的連接16四、系統(tǒng)測(cè)試 164、1系統(tǒng)關(guān)鍵部分測(cè)試分析164、2單元測(cè)試分析174、3測(cè)試分析總結(jié)及說(shuō)明174、4系統(tǒng)的性能分析18五、總結(jié)18六、參考文獻(xiàn)18前言jsp網(wǎng)上商城系統(tǒng)(網(wǎng)上購(gòu)物系統(tǒng)設(shè)計(jì))開(kāi)題報(bào)告課題來(lái)源及研究的目的和意義:隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)已逐漸深入人心,更是成為繼報(bào)刊、電視廣播等傳統(tǒng)媒體之后而興起的一新傳媒介質(zhì),網(wǎng)絡(luò)宣傳已成
3、為眾多宣傳手段的重中之重,各種各樣的網(wǎng)站也就應(yīng)運(yùn)而生:為宣傳企業(yè)而制作的公司網(wǎng)站、可進(jìn)行網(wǎng)上購(gòu)物的電子商務(wù)網(wǎng)站、能及時(shí)了解到天下事的新聞網(wǎng)站、方便學(xué)習(xí)的教育網(wǎng)站,還有學(xué)校、團(tuán)體、個(gè)人等等各大各小的網(wǎng)站,充斥著我們的視野,滿足著我們的需要。網(wǎng)站的規(guī)劃與建設(shè),已悄然被許多人擺到了首要的迫在眉睫的位置上。當(dāng)今的企業(yè),如果仍然依靠傳統(tǒng)的方式宣傳自己企業(yè)的形象和文化、采購(gòu)自己企業(yè)所需的原材料和配套部件、推銷自己企業(yè)的產(chǎn)品,則顯得十分落后而且難以適應(yīng)激烈的市場(chǎng)競(jìng)爭(zhēng)。因此,當(dāng)代企業(yè)紛紛建立自己的網(wǎng)站,借助于互聯(lián)網(wǎng)快速的信息傳遞加速自身的發(fā)展。一個(gè)企業(yè)網(wǎng)站的規(guī)劃與建設(shè),自然而然也就成了眾多類型的網(wǎng)站規(guī)劃與建設(shè)
4、的典范;企業(yè)網(wǎng)站的規(guī)劃與建設(shè)這一研究課題,也自然而然地成為當(dāng)今乃至今后一段長(zhǎng)時(shí)間內(nèi),企業(yè)內(nèi)部和互聯(lián)網(wǎng)上的一個(gè)相當(dāng)重要的討論對(duì)象。我這次畢業(yè)設(shè)計(jì)主要研究的就是企業(yè)網(wǎng)上購(gòu)物系統(tǒng)在網(wǎng)絡(luò)上的實(shí)現(xiàn)。 購(gòu)物網(wǎng)站的規(guī)劃與建設(shè)這一課題,是應(yīng)用前景非常廣闊的!它的解決方案不僅僅可以針對(duì)購(gòu)物的網(wǎng)站,同樣可以應(yīng)用于多種多樣的網(wǎng)站建設(shè)。 21世紀(jì)是信息化的社會(huì),互聯(lián)網(wǎng)實(shí)現(xiàn)了世界范圍的網(wǎng)絡(luò)間的互聯(lián)和信息共享,并已全面介入人類生產(chǎn)生活的方方面面,帶動(dòng)著人類社會(huì)的飛速發(fā)展。企業(yè)產(chǎn)品的推銷、企業(yè)形象的樹(shù)立、企業(yè)文化的宣傳,都靠著企業(yè)網(wǎng)站給著人們的頭腦里的第一印象。網(wǎng)站做的好,企業(yè)自然受人們關(guān)注、受人們青睞;如果網(wǎng)站做的不好,
5、企業(yè)的效益自然就會(huì)受到影響。 企業(yè)網(wǎng)站的規(guī)劃與建設(shè)將是一個(gè)長(zhǎng)久且受人關(guān)注的課題,人們將沿著這條研究網(wǎng)站建設(shè)的路越走越精彩一、java的網(wǎng)絡(luò)功能與編程1、1 java語(yǔ)言簡(jiǎn)介java是一種簡(jiǎn)單易用、完全面向?qū)ο?、具有平臺(tái)無(wú)關(guān)性且安全可靠的主要面向internet的開(kāi)發(fā)工具。自從1995年正式問(wèn)世以來(lái),java的快速發(fā)展已經(jīng)讓整個(gè)web世界發(fā)生了翻天覆地的變化。在早期,java比較多的用在瀏覽器上,插入到網(wǎng)頁(yè)中(即是java applet程序),成為最靈活、最強(qiáng)大的網(wǎng)頁(yè)多媒體的載體,但由于java虛擬機(jī)相對(duì)于個(gè)人電腦而言,有占用資源大,安全性相對(duì)較差等缺點(diǎn),applet逐漸的被后起之秀flash所
6、替代,但隨著java servlet的推出,java在電子商務(wù)方面開(kāi)始嶄露頭角,最新的jsp(java server page)技術(shù)的推出,更是讓java成為基于web的應(yīng)用程序的首選開(kāi)發(fā)工具,目前的java技術(shù)已成為所有大型電子商務(wù)項(xiàng)目的必然選擇。1-2 java語(yǔ)言在java上的應(yīng)用java程序可以獲取網(wǎng)絡(luò)上結(jié)點(diǎn)的圖象、聲音、html文檔及文本等資源,并可以對(duì)獲得的資源進(jìn)行處理。例如java程序可以每隔一定時(shí)間讀取某結(jié)點(diǎn)提供的最新數(shù)據(jù),并以圖表的形式顯示出來(lái)。在編程處理上,一般先生成一個(gè)url類型的對(duì)象,然后用java中相應(yīng)的方法(method)獲取該對(duì)象所代表的資源。下面列舉一個(gè)java
7、從網(wǎng)絡(luò)上獲取圖象的的方法以說(shuō)明。 javaapplet可以直接從網(wǎng)絡(luò)上結(jié)點(diǎn)獲取圖象并顯示出來(lái),java提供了如下方法可以創(chuàng)建對(duì)應(yīng)于其他結(jié)點(diǎn)的圖象:getimage(new url(字符串)253jsp網(wǎng)上書(shū)店系統(tǒng)用例圖+功能圖+論文其使用格式可有兩種:string url = “結(jié)點(diǎn)url”;image image;try image = getimage(new url(url); catch(exception e) system.out.println(“cant open the url “);或 url imgur=null; image image; try imgur=new u
8、rl(“結(jié)點(diǎn)url “); catch (malformedurlexception e) system.out.println(“cant open the url “); image=getimage(imgur);前一種格式用“new url(url)”生成 url 對(duì)象, 并直接作為getimage的參數(shù),后一種格式先用“new url(url)”生成一個(gè) url對(duì)象,再傳給getimage,兩種格式本質(zhì)上是一樣的,下面是一個(gè)完整的實(shí)例(img.java): import java.applet.*;import .*; import java.awt.*; public class
9、img extends appletimage image;public void init() string url = “/newspic/2007118/1429189039.gif”; try image = getimage(new url(url); catch(exception e)public void paint(graphics g) g.drawimage(image, 0, 0,this); 將上程序以img.java存盤, 執(zhí)行javac img.java,將得到編譯后生成的img.class,最后創(chuàng)建調(diào)用這兩個(gè)java applet的html文檔,并放在與img.
10、class相同的目錄,對(duì)應(yīng)的html文檔可如下(img.html):以上僅是java在客戶端應(yīng)用的一些方面,目前,java更廣泛的應(yīng)用是在服務(wù)器端,這是本文研究的主要話題,下文提及的servlet、jsp等技術(shù)都是java在服務(wù)器端應(yīng)用的具體形式。1-3jsp的基礎(chǔ)servlet 技術(shù)java servlet 是jsp技術(shù)的基礎(chǔ),jsp本身就是預(yù)先被編譯成servlet,然后再運(yùn)行的,而且大型的web應(yīng)用程序的開(kāi)發(fā)需要java servlet和jsp配合才能完成,servlet這個(gè)名稱大概源于applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用servlet這個(gè)名稱而不做任何翻
11、譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。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。得益于java的跨平臺(tái)的特性,servlet也是平臺(tái)無(wú)關(guān)的,實(shí)際上,只要符合java servlet規(guī)范,servlet是完全平臺(tái)無(wú)關(guān)且是web服務(wù)器無(wú)關(guān)的。由于java se
12、rvlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此java servlet效率非常高。但java servlet也不是沒(méi)有缺點(diǎn),和傳統(tǒng)的cgi、isapi、nsapi方式相同,java servlet是利用輸出html語(yǔ)句來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)的,如果用java servlet來(lái)開(kāi)發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過(guò)程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么sun還要推出java server pages的原因。1-4 javabeans技術(shù)什么是javabeans?javabeans就是java的可重用組件技術(shù)。asp通過(guò)com來(lái)擴(kuò)充復(fù)雜的功能
13、,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來(lái)成為獨(dú)立可重復(fù)利用的模塊。jsp通過(guò)javabeans實(shí)現(xiàn)了同樣的功能擴(kuò)充。jsp對(duì)于在web應(yīng)用中集成javabeans組件提供了完善的支持。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開(kāi)發(fā)),也為jsp應(yīng)用帶來(lái)了更多的可伸縮性。javabeans組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù)據(jù)庫(kù)的交互以及數(shù)據(jù)提取等。在實(shí)際的jsp開(kāi)發(fā)過(guò)程中,讀者將會(huì)發(fā)現(xiàn),和傳統(tǒng)的asp或php頁(yè)面相比,jsp頁(yè)面將會(huì)是非常簡(jiǎn)潔的,由于javabeans開(kāi)發(fā)起來(lái)簡(jiǎn)單,又可以利用java語(yǔ)言的強(qiáng)大功能,許多動(dòng)態(tài)頁(yè)面處理過(guò)程
14、實(shí)際上被封裝到了javabeans中。1、2jsp技術(shù)簡(jiǎn)介jsp(javaserver pages)是由sun microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。jsp技術(shù)有點(diǎn)類似asp技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)html文件(*.htm,*.html)中插入java程序段(scriptlet)和jsp標(biāo)記(tag),從而形成jsp文件(*.jsp)。用jsp開(kāi)發(fā)的web應(yīng)用是跨平臺(tái)的,即能在linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。jsp技術(shù)使用java編程語(yǔ)言編寫類xml的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scrip
15、tlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。jsp將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。web服務(wù)器在遇到訪問(wèn)jsp網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同jsp文件中的html代碼一起返回給客戶。插入的java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。jsp與java servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)html文本,因此客戶端只要有瀏覽器就能瀏覽。jsp的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范。目前較新的是jsp1.2規(guī)范,
16、jsp2.0規(guī)范的征求意見(jiàn)稿也已出臺(tái)。jsp頁(yè)面由html代碼和嵌入其中的java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些java代碼進(jìn)行處理,然后將生成的html頁(yè)面返回給客戶端的瀏覽器。java servlet 是jsp的技術(shù)基礎(chǔ),而且大型的web應(yīng)用程序的開(kāi)發(fā)需要java servlet和jsp配合才能完成。jsp具備了java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。jsp技術(shù)的強(qiáng)勢(shì)(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上java比php更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),
17、在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比asp/php的局限性是顯而易見(jiàn)的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的jar文件就可以運(yùn)行servlet/jsp,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與asp很像,java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。jsp技術(shù)的弱勢(shì)(1) 與asp一樣,java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所
18、以極大的增加了產(chǎn)品的復(fù)雜性。(2) java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來(lái)儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。jsp六種內(nèi)置對(duì)象:request, response, out, session, application, config, pagecontext, page, exception.一.request對(duì)象:該對(duì)象封裝了用戶提交的信息,通過(guò)調(diào)用該對(duì)象相應(yīng)的方法可以獲取封裝的信息,即使用該對(duì)象可以獲取用戶提交信息。二.response對(duì)象:對(duì)
19、客戶的請(qǐng)求做出動(dòng)態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。三session對(duì)象1.什么是session:session對(duì)象是一個(gè)jsp內(nèi)置對(duì)象,它在第一個(gè)jsp頁(yè)面被裝載時(shí)自動(dòng)創(chuàng)建,完成會(huì)話期管理。從一個(gè)客戶打開(kāi)瀏覽器并連接到服務(wù)器開(kāi)始,到客戶關(guān)閉瀏覽器離開(kāi)這個(gè)服務(wù)器結(jié)束,被稱為一個(gè)會(huì)話。當(dāng)一個(gè)客戶訪問(wèn)一個(gè)服務(wù)器時(shí),可能會(huì)在這個(gè)服務(wù)器的幾個(gè)頁(yè)面之間反復(fù)連接,反復(fù)刷新一個(gè)頁(yè)面,服務(wù)器應(yīng)當(dāng)通過(guò)某種辦法知道這是同一個(gè)客戶,這就需要session對(duì)象。2session對(duì)象的id:當(dāng)一個(gè)客戶首次訪問(wèn)服務(wù)器上的一個(gè)jsp頁(yè)面時(shí),jsp引擎產(chǎn)生一個(gè)session對(duì)象,同時(shí)分配一個(gè)string類型的id號(hào),jsp引擎同時(shí)將
20、這個(gè)id號(hào)發(fā)送到客戶端,存放在cookie中,這樣session對(duì)象和客戶之間就建立了一一對(duì)應(yīng)的關(guān)系。當(dāng)客戶再訪問(wèn)連接該服務(wù)器的其他頁(yè)面時(shí),不再分配給客戶新的session對(duì)象,直到客戶關(guān)閉瀏覽器后,服務(wù)器端該客戶的session對(duì)象才取消,并且和客戶的會(huì)話對(duì)應(yīng)關(guān)系消失。當(dāng)客戶重新打開(kāi)瀏覽器再連接到該服務(wù)器時(shí),服務(wù)器為該客戶再創(chuàng)建一個(gè)新的session對(duì)象。四aplication對(duì)象1什么是application:服務(wù)器啟動(dòng)后就產(chǎn)生了這個(gè)application對(duì)象,當(dāng)客戶再所訪問(wèn)的網(wǎng)站的各個(gè)頁(yè)面之間瀏覽時(shí),這個(gè)application對(duì)象都是同一個(gè),直到服務(wù)器關(guān)閉。但是與session不同的是,
21、所有客戶的application對(duì)象都是同一個(gè),即所有客戶共享這個(gè)內(nèi)置的application對(duì)象。2application對(duì)象常用方法:(1)public void setattribute(string key,object obj): 將參數(shù)object指定的對(duì)象obj添加到application對(duì)象中,并為添加的對(duì)象指定一個(gè)索引關(guān)鍵字。(2)public object getattribute(string key): 獲取application對(duì)象中含有關(guān)鍵字的對(duì)象。五out對(duì)象out對(duì)象是一個(gè)輸出流,用來(lái)向客戶端輸出數(shù)據(jù)。out對(duì)象用于各種數(shù)據(jù)的輸出。六cookie1.什么是coo
22、kie:cookie是web服務(wù)器保存在用戶硬盤上的一段文本。cookie允許一個(gè)web站點(diǎn)在用戶的電腦上保存信息并且隨后再取回它。舉例來(lái)說(shuō),一個(gè)web站點(diǎn)可能會(huì)為每一個(gè)訪問(wèn)者產(chǎn)生一個(gè)唯一的id,然后以cookie文件的形式保存在每個(gè)用戶的機(jī)器上。如果您使用ie瀏覽器訪問(wèn)web,您會(huì)看到所有保存在您的硬盤上的cookie。它們最常存放的地方是:c:windowscookies(在window2000中則是c:documents and settings您的用戶名cookies )cookie是以“關(guān)鍵字key=值value“的格式來(lái)保存紀(jì)錄的.2創(chuàng)建一個(gè)cookie對(duì)象,調(diào)用cookie對(duì)象的
23、構(gòu)造函數(shù)可以創(chuàng)建cookie。cookie對(duì)象的構(gòu)造函數(shù)有兩個(gè)字符串參數(shù):cookie名字和cookie值。cookie c=new cookie(“username”,”john”);3 jsp中如果要將封裝好的cookie對(duì)象傳送到客戶端,使用response的addcookie()方法。格式:response.addcookie(c)4讀取保存到客戶端的cookie,使用request對(duì)象的getcookies()方法,執(zhí)行時(shí)將所有客戶端傳來(lái)的cookie對(duì)象以數(shù)組的形式排列,如果要取出符合需要的cookie對(duì)象,就需要循環(huán)比較數(shù)組內(nèi)每個(gè)對(duì)象的關(guān)鍵字。1、2、1在windows平臺(tái)下配置
24、jsp運(yùn)行環(huán)境為了使系統(tǒng)能夠正常運(yùn)行jsp和相關(guān)程序,必須先配置好能夠使用jsp的web服務(wù)器。各種能使用servlet技術(shù)的web服務(wù)器中,運(yùn)用得最多的是tomcat服務(wù)器,如果僅是為了用于測(cè)試程序,tomcat的配置則顯得太復(fù)雜了,本文推薦使用resin服務(wù)器,resin據(jù)稱是最快的servlet運(yùn)行平臺(tái),不過(guò)限于單站點(diǎn),對(duì)傳統(tǒng)的一些網(wǎng)關(guān)支持不是很好,因此對(duì)于商業(yè)網(wǎng)站而言,不是最好的選擇,不過(guò)如果僅是為了測(cè)試servlet,這個(gè)resin的安裝可謂有點(diǎn)傻瓜化。resin比較新的版本是3.x,但目前實(shí)際用的2.x版本的比較多,resin可到官方站點(diǎn)下載:本文使用的是2.1.13版本,文件位置
25、:如果你的電腦上已裝好jdk,直接把下載的resin包解壓到d:盤根目錄解壓后即d:resin-2.1.13為服務(wù)器的目錄,把本文的源程序jspweb文件夾也放在d:盤根目錄,即是d:jspweb為網(wǎng)站根目錄,打開(kāi)d:resin-2.1.13conf resin.conf(是一份xml形式的配置文件),找到doc這里改為d:jspweb,然后運(yùn)行d:resin-2.1.13binhttpd.exe,在瀏覽器輸入http:/localhost:8080/j1.jsp,看到了“我是jsp!”的字樣了吧,你的servlet服務(wù)器就這樣配置成功了,為了能編譯servlet類,還需要做的事情是:把d:r
26、esin-2.1.13lib加入到windows的classpath的環(huán)境變量中。二、網(wǎng)站功能的設(shè)計(jì)2、1網(wǎng)站功能分析經(jīng)過(guò)前期的深入調(diào)查和研究,總結(jié)出該平臺(tái)需要完成的一些具體功能,分析如下:用戶管理 能夠完成用戶基本信息錄入的注冊(cè)和用戶基本信息的個(gè)人前臺(tái)與后臺(tái)管理。管理員管理 能夠完成管理員對(duì)網(wǎng)站的商品資料(添加大類、添加小類、商品添加、商品審查)、商品交易(外理訂單、發(fā)貨查詢)、會(huì)員管理(會(huì)員審查)、操作管理(管理員添加、管理員審查、管理員退出)的功能。搜索功能 能過(guò)電子商品的名稱,電子商品的分類進(jìn)行搜索。查詢功能 能夠通過(guò)查看購(gòu)物車對(duì)所選商品進(jìn)行確定、挑選,通過(guò)定單查詢對(duì)支付費(fèi)用進(jìn)行確定。
27、2、2平臺(tái)功能模塊的設(shè)計(jì)在平臺(tái)功能的分析基礎(chǔ)上,得到本平臺(tái)的功能模塊圖如下:jsp網(wǎng)絡(luò)購(gòu)物系統(tǒng)平臺(tái)主要包括四大功能模塊,用戶管理、網(wǎng)站布局、管理員管理、搜索等功能模塊。其中用戶管理模塊,主要包括用戶注冊(cè)、用戶修改、用戶刪除等功能;管理員管理主要包括商品資料(添加大類、添加小類、商品添加、商品審查)、商品交易、會(huì)員管理、操作管理(管理員添加、管理員審查、管理員退出)等功能;搜索主要包括:商品名稱、商品類別。jsp網(wǎng)絡(luò)購(gòu)物系統(tǒng)平臺(tái)總體模塊:jsp網(wǎng)絡(luò)商城系統(tǒng)平臺(tái)用戶管理管理員管理網(wǎng)站布局搜索添加小類添加大類商品添加商品審查管理員添加管理員審查管理員退出會(huì)員管理操作管理商品名稱商品類別商品資料用戶刪
28、除用戶修改商品交易2、3系統(tǒng)流程分析本系統(tǒng)分為前臺(tái)購(gòu)物流程和后臺(tái)訂單處理流程2、3、1前臺(tái)購(gòu)物流程圖瀏覽商品選擇商品訂購(gòu)商品去購(gòu)物車去收銀臺(tái)提交訂單未注冊(cè)用戶已登錄注冊(cè)用戶未登錄注冊(cè)用戶注冊(cè)2、3、2后臺(tái)購(gòu)物流程圖用戶訂單訂單處理訂單發(fā)貨訂單結(jié)賬訂單刪除注冊(cè)入口必選項(xiàng)為空?用戶名有效?密碼是否一致?密碼符合要求?email有效?其他信息有效?注冊(cè)成功否否否否否否是否是是是是是2、3、3注冊(cè)功能流程圖 開(kāi)始搜索輸入條件搜索結(jié)果查看商品購(gòu)物車下訂單繼續(xù)搜索是2、3、4商品搜索流程圖查詢用戶是否存在登錄入口取得用戶名和密碼將userid存入session中核對(duì)密碼是否正確登錄成功是是否否2、3、5用
29、戶登錄流程圖商品管理查詢商品修改,刪除滿意否返回添加商品是否2、3、6商品管理流程圖2、3、7購(gòu)物車流程圖購(gòu)物車查看商品滿意否下訂單調(diào)整商品是否三、數(shù)據(jù)庫(kù)設(shè)計(jì)在本系統(tǒng)中數(shù)據(jù)庫(kù)具體表結(jié)構(gòu)的設(shè)計(jì):3、1顧客基本信息表 user顧客信息表用來(lái)記錄用戶的一些基本信息,其結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1useridint用戶id(主鍵)2usernamenvarchar(50)用戶登錄名3passwordnvarchar(50)用戶密碼4userrealnamenvarchar(50)用戶真實(shí)姓名5addressnvarchar(50)地址6emailnvarchar(50)電子郵件3、2商品
30、信息表 product商品信息表表示商品的基本信息,如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1productidint商品編號(hào)(主鍵)2productnamenvarchar(50)商品名稱3productpricedecimal價(jià)格4intronvarchar(50)商品介紹5categoryidint所屬分類編號(hào) 3、3商品分類表 category商品分類表用來(lái)表示商品類別信息。其結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1categoryidint商品分類id(主鍵)2categorynamevarchar(50)分類名稱3cnoint分類編碼4gradeint分類等級(jí)5pidint與上級(jí)分類
31、id對(duì)應(yīng)3、4訂單表 orders訂單表保存每筆訂單的基本信息。結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1orderidint訂單號(hào)(主鍵)2useridint所屬用戶id3orderdatedatetime成交時(shí)間4addrvarchar(50)送貨地址3、5訂單詳細(xì)信息表 orderitems訂單詳細(xì)信息表體現(xiàn)訂單的細(xì)則,結(jié)構(gòu)如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1orderidint所屬訂單號(hào)(主鍵)2productidint商品id(主鍵)3quantityint該商品的購(gòu)買數(shù)量4unitcostdecimal該商品的單價(jià)3、6管理員信息表 admin與用戶信息表類似,管理員信息表用來(lái)保
32、存管理員的基本信息,如下表所示:編號(hào)字段名稱數(shù)據(jù)類型說(shuō)明1adminidint管理員id2loginnamenvarchar(50)管理員登錄名3loginpwdnvarchar(50)管理員密碼3、7數(shù)據(jù)庫(kù)的連接出于安全性的考慮,我們將與數(shù)據(jù)庫(kù)的連接,單獨(dú)寫出來(lái)并進(jìn)行編譯,也就是數(shù)據(jù)庫(kù)連接的javabean文件,編譯出來(lái)的.class文件是無(wú)法被修改的只能通過(guò)源文件進(jìn)行修改,我們?cè)趈sp頁(yè)面中只用直接調(diào)用改方法即可,在本系統(tǒng)中我們將其命名為為.faq存放在class/ckstudio/db下設(shè)其id為mdb,我們?cè)谛枰獙?duì)數(shù)據(jù)庫(kù)進(jìn)行操作的時(shí)候只需在頁(yè)面上添加這樣一個(gè)標(biāo)簽即可。連接關(guān)鍵代碼如下:
33、class.forname(sun.jdbc.odbc.jdbcodbcdriver);定義驅(qū)動(dòng)類型 string strdirpath=application.getrealpath(request.getrequesturi(); strdirpath=strdirpath.substring(0,strdirpath.lastindexof()+;得到數(shù)據(jù)庫(kù)的存放路徑 string url = jdbc:odbc:driver=microsoft access driver (*.mdb);dbq=+strdirpath+db.mdb; 定義連接地址connection conn = d
34、rivermanager.getconnection(url);連接數(shù)據(jù)庫(kù) statement stmt = conn.createstatement(); resultset rs = stmt.executequery(sql);返回操作結(jié)果四、系統(tǒng)測(cè)試4、1 系統(tǒng)關(guān)鍵部分測(cè)試分析 系統(tǒng)完成之后,對(duì)各個(gè)模塊的功能進(jìn)行了詳細(xì)的測(cè)試,輸入數(shù)據(jù)和預(yù)測(cè)輸出數(shù)據(jù)相比,發(fā)現(xiàn)了一些問(wèn)題。主要是在查詢過(guò)程中預(yù)計(jì)查詢結(jié)果和實(shí)際結(jié)果不一致,有時(shí)候達(dá)不到目的,對(duì)數(shù)據(jù)庫(kù)的操作表之間的關(guān)聯(lián)考慮得不夠周到,因此往往會(huì)出現(xiàn)一些小的錯(cuò)誤。還有查詢條件的前后數(shù)據(jù)類型不一致也是一個(gè)很常見(jiàn)的錯(cuò)誤,需要靠一步步的查找解決。各個(gè)模
35、塊組裝完成后,又會(huì)出現(xiàn)一些問(wèn)題。比如在操作購(gòu)物車結(jié)帳的這個(gè)流程中,由于是多次添加和修改,最后結(jié)帳,所以很容易造成數(shù)據(jù)混亂,必須對(duì)相應(yīng)的數(shù)據(jù)關(guān)系理清楚,一些關(guān)鍵查詢統(tǒng)計(jì)的sql語(yǔ)句必須反復(fù)斟酌才能放在程序中使用。 4、2 單元測(cè)試分析(1)經(jīng)過(guò)上面部分的分析,我們可以得知,購(gòu)物車模塊是我們需要特別注意的地方,因?yàn)樗婕暗搅宋覀償?shù)據(jù)庫(kù)中的大部分?jǐn)?shù)據(jù),并且是進(jìn)行網(wǎng)上交易的最關(guān)鍵部分,絕對(duì)不能出現(xiàn)任何的差錯(cuò),下面我們就針對(duì)這一模塊進(jìn)行用例測(cè)試:我們以用戶jikou的身份登入系統(tǒng),用戶名是:jikou 密碼是:1234然后點(diǎn)擊定購(gòu)商品:諾基亞6100 單價(jià)為3800元 彈出購(gòu)物車清單:選擇商品數(shù)量 2
36、確認(rèn) 出現(xiàn)清單:顯示商品名稱 諾基亞6100 數(shù)量2 合計(jì) 7600元與我們估算的數(shù)據(jù)相符。此時(shí)選擇清空購(gòu)物車,繼續(xù)購(gòu)物,點(diǎn)擊定購(gòu)商品:摩托羅拉v70 單價(jià)為2500元選擇數(shù)量3 確認(rèn),出現(xiàn)清單:顯示商品名稱 摩托羅拉v70 合計(jì)7500元 繼續(xù)選擇收銀臺(tái)結(jié)帳,出現(xiàn)帳單顯示:顯示商品名稱 摩托羅拉v70 合計(jì)7500元 與我們估算的數(shù)據(jù)也相符,證明清空購(gòu)物車的功能正常有效,并沒(méi)有將我們第一次選購(gòu)的物品計(jì)算在內(nèi),價(jià)格的計(jì)算也正確無(wú)誤。下面我們來(lái)看后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù):打開(kāi)購(gòu)物車表basket 我們可以看到以用戶名jikou為關(guān)鍵字段的兩條記錄中,一條是我們第一次添加到購(gòu)物車的商品信息,一條是第二次添加到購(gòu)物車的商品信息,我們可以發(fā)現(xiàn)這兩條記錄的區(qū)別,第二條記錄摩托羅拉的basket_check屬性為是,subnumber屬性為jikou2006151252,而第一條諾基亞6100 的basket_check屬性為否,subnumber屬性為空,證明該條記錄沒(méi)有產(chǎn)生訂單也就是說(shuō)這次無(wú)效的選購(gòu)記錄,并沒(méi)有被計(jì)入到帳單中,和我們的預(yù)期目標(biāo)一致,即該部分功能正常,測(cè)試完畢。(2)對(duì)用戶注冊(cè)部分進(jìn)行測(cè)試用戶名:jikou 密碼:123456 確認(rèn):123456 e _mail:jikou地址:河南鄭州 郵編:450002 真實(shí)性名:付立夫提交以后,彈出提示信息:該用戶已存在,用戶名重復(fù)驗(yà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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:教育發(fā)展質(zhì)量動(dòng)態(tài)監(jiān)測(cè)和評(píng)估研究
- 2025版土地儲(chǔ)備開(kāi)發(fā)投資合作協(xié)議3篇
- 二零二五版能源采購(gòu)合同風(fēng)險(xiǎn)控制與能源價(jià)格波動(dòng)應(yīng)對(duì)3篇
- 2025年度個(gè)人藝術(shù)品收藏鑒定合同3篇
- 2025年度個(gè)人股東股權(quán)轉(zhuǎn)讓協(xié)議范本詳盡規(guī)定股權(quán)轉(zhuǎn)讓費(fèi)用3篇
- 2025版委托人事代理及員工職業(yè)發(fā)展協(xié)議3篇
- 基于物聯(lián)網(wǎng)的智能穿戴設(shè)備2025年度研發(fā)合同
- 2025年個(gè)人魚(yú)塘智能養(yǎng)殖系統(tǒng)研發(fā)與應(yīng)用合同范本4篇
- 2025年度企業(yè)股權(quán)轉(zhuǎn)讓與知識(shí)產(chǎn)權(quán)許可合同
- 2025年度新型環(huán)保木質(zhì)防火門批發(fā)采購(gòu)合同
- 2025年上半年江蘇連云港灌云縣招聘“鄉(xiāng)村振興專干”16人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- DB3301T 0382-2022 公共資源交易開(kāi)評(píng)標(biāo)數(shù)字見(jiàn)證服務(wù)規(guī)范
- 人教版2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 江蘇省無(wú)錫市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 俄語(yǔ)版:中國(guó)文化概論之中國(guó)的傳統(tǒng)節(jié)日
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 婦科一病一品護(hù)理匯報(bào)
- 哪吒之魔童降世
- 2022年上海市各區(qū)中考一模語(yǔ)文試卷及答案
- 2024年全國(guó)統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 地震工程學(xué)概論課件
評(píng)論
0/150
提交評(píng)論