網(wǎng)絡(luò)購(gòu)物車設(shè)計(jì)報(bào)告jspjava課程設(shè)計(jì)_第1頁(yè)
網(wǎng)絡(luò)購(gòu)物車設(shè)計(jì)報(bào)告jspjava課程設(shè)計(jì)_第2頁(yè)
網(wǎng)絡(luò)購(gòu)物車設(shè)計(jì)報(bào)告jspjava課程設(shè)計(jì)_第3頁(yè)
網(wǎng)絡(luò)購(gòu)物車設(shè)計(jì)報(bào)告jspjava課程設(shè)計(jì)_第4頁(yè)
網(wǎng)絡(luò)購(gòu)物車設(shè)計(jì)報(bào)告jspjava課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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、課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱: java課程設(shè)計(jì) 專 業(yè) 班 級(jí) : 學(xué) 生 姓 名 : 學(xué) 號(hào) : 指 導(dǎo) 教 師 : 課程設(shè)計(jì)時(shí)間: 2011.12.12-2011.12.23 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名專業(yè)班級(jí)學(xué)號(hào)題 目網(wǎng)絡(luò)購(gòu)物車課題性質(zhì)工程設(shè)計(jì)課題來(lái)源自擬課題指導(dǎo)教師同組姓名無(wú)主要內(nèi)容 淘寶、京東、易購(gòu)等都是知名度很大的電子商務(wù)網(wǎng)站,而對(duì)于電子商務(wù)網(wǎng)站來(lái)說(shuō)一個(gè)很重要的組成部分便是網(wǎng)絡(luò)購(gòu)物車,要求利用html、jsp、servlet、數(shù)據(jù)庫(kù)等知識(shí)點(diǎn),結(jié)合相關(guān)設(shè)計(jì)模式、以及軟件工程的相關(guān)知識(shí),在經(jīng)過(guò)需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)等流程步驟以后,設(shè)計(jì)一個(gè)網(wǎng)絡(luò)購(gòu)物車。主要功能是記

2、錄和操作不同客戶的網(wǎng)上購(gòu)物信息。該系統(tǒng)能對(duì)購(gòu)物車中商品信息進(jìn)行查詢、增加、修改、刪除、清空、下載等操作,商品信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。任務(wù)要求 綜合運(yùn)用所學(xué)的java程序設(shè)計(jì)基本知識(shí),并能通過(guò)查閱相關(guān)文獻(xiàn)材料,獨(dú)立完成該課題的設(shè)計(jì)開(kāi)發(fā)工作。要求根據(jù)本課題設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu),并實(shí)現(xiàn):商品展示、操作成功提示、購(gòu)物車展示等視圖界面;對(duì)商品信息的查詢、增加、修改、刪除、清空、下載等功能模塊。系統(tǒng)采用tomcat、記事本等開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā)實(shí)現(xiàn)。根據(jù)系統(tǒng)功能,結(jié)合軟件開(kāi)發(fā)流程,完成設(shè)計(jì)報(bào)告的撰寫。參考文獻(xiàn)1 (美)cay s. horstmann、gary cornell. java核心技術(shù)卷i:基礎(chǔ)知識(shí)(第8

3、版)(英文影印版).人民郵電出版社, 2008.112 耿祥義、張躍平. java2實(shí)用教程(修訂). 清華大學(xué)出版社,2001.103 楊小平 java項(xiàng)目案例導(dǎo)航 科學(xué)出版社,2003.74 傅進(jìn)勇、鄧少烽、李波 jsp網(wǎng)絡(luò)編程 電子工業(yè)出版社 2008.5審查意見(jiàn)指導(dǎo)教師簽字:教研室主任簽字: 年 月 日 網(wǎng)絡(luò)購(gòu)物車一:需求分析 利用html、jsp、java、servlet、數(shù)據(jù)庫(kù)等知識(shí)點(diǎn),結(jié)合相關(guān)設(shè)計(jì)模式、以及軟件工程的相關(guān)知識(shí),設(shè)計(jì)一個(gè)網(wǎng)站購(gòu)物車,用于記錄不同客戶的購(gòu)物訂單,并能對(duì)購(gòu)物車中商品信息進(jìn)行查詢、修改、刪除、清空、下載等操作,商品信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。具體要實(shí)現(xiàn)的功能如下:

4、1:顯示商品展示界面、操作成功界面、購(gòu)物車展示界面等界面。2:商品信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。3:對(duì)商品信息能夠進(jìn)行查詢、修改、刪除、清空、下載等操作。4:使用mvc設(shè)計(jì)模式(view(jsp)、model(javabean)、controller(servlet))。5:在瀏覽器中輸入訪問(wèn)信息進(jìn)行訪問(wèn)。6:購(gòu)物車信息分頁(yè)顯示。二:概要設(shè)計(jì)本次課程設(shè)計(jì)中使用了mvc設(shè)計(jì)模式,jsp作為view,javabean作為model,servlet作為controller,實(shí)現(xiàn)界面與邏輯的分離,模塊之間松耦合,通過(guò)傳遞參數(shù)進(jìn)行調(diào)用。jsp頁(yè)面通過(guò)發(fā)送一個(gè)操作類型變量,從而使得controller獲知應(yīng)當(dāng)進(jìn)行的

5、操作,并通過(guò)調(diào)用javabean進(jìn)行實(shí)際的執(zhí)行,這樣頁(yè)面與邏輯就得到了分離,互不干涉和影響。使用數(shù)據(jù)庫(kù)存儲(chǔ)購(gòu)物信息,在數(shù)據(jù)庫(kù)中對(duì)商品信息進(jìn)行增、刪、改、查等操作,此外控制器通過(guò)調(diào)用writeexcel類,在每次查看信息之前把當(dāng)前的商品信息寫入到xls文件中進(jìn)行保存,并供用戶下載。具體的設(shè)計(jì)模塊及系統(tǒng)流程如下圖所示:shoppingcarmessage.xlsshoppingcar數(shù)據(jù)庫(kù)writeexcel.javacontroloperate.javaoperate.java返回響應(yīng)返回結(jié)果數(shù)據(jù)庫(kù)或文件modelcontrollerview執(zhí)行操作進(jìn)行調(diào)用發(fā)送請(qǐng)求updatesuccess.j

6、spalter.jspshoppingcarplay.jspdefault.jspaddsuccess.jsp三:運(yùn)行環(huán)境、開(kāi)發(fā)語(yǔ)言運(yùn)行環(huán)境:windows xp 瀏覽器開(kāi)發(fā)語(yǔ)言:html、jsp、java四:詳細(xì)設(shè)計(jì)1:程序清單 java課程設(shè)計(jì)網(wǎng)絡(luò)購(gòu)物車文件功能對(duì)應(yīng)表序號(hào) 文件名功能 1default.jsp顯示商品信息 2shoppingcarplay.jsp顯示購(gòu)物車信息 3alter.jsp顯示修改商品頁(yè)面 4addsuccess.jsp顯示成功添加商品 5updatesuccess.jsp顯示成功更新商品 6controloperate.java控制進(jìn)行各種操作 7operate.

7、java對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作 8write.excel.jaava生成excel信息文件 9shoppingcarmessage.xls記錄購(gòu)物車信息2:主要代碼1:顯示商品信息界面用jsp來(lái)顯示主界面登錄主頁(yè)面歡迎光臨百味書(shū)屋!/用表格來(lái)排列顯示信息書(shū)名:貨幣戰(zhàn)爭(zhēng)書(shū)號(hào):0001作者:王一價(jià)格:23書(shū)名:我的抗戰(zhàn)書(shū)號(hào):0002作者:王二價(jià)格:33書(shū)名:你貓叔了沒(méi)書(shū)號(hào):0003作者:王三價(jià)格:43書(shū)名:贊美你書(shū)號(hào):0004作者:王四價(jià)格:53書(shū)名:刀尖書(shū)號(hào):0005作者:王五價(jià)格:63書(shū)名:人脈是設(shè)計(jì)出來(lái)的書(shū)號(hào):0006作者:王六價(jià)格:73書(shū)名:龍年運(yùn)程書(shū)號(hào):0007作者:王七價(jià)格:83書(shū)名:最好的

8、時(shí)光在路上書(shū)號(hào):0008作者:王八價(jià)格:93書(shū)名:七日談書(shū)號(hào):0009作者:王九價(jià)格:1032:顯示購(gòu)物車信息界面用jsp分頁(yè)顯示購(gòu)物車中的商品信息購(gòu)物車界面您的購(gòu)物車列表: 書(shū)名書(shū)號(hào)作者 價(jià)格數(shù)量 =totalcount)/當(dāng)前頁(yè)面為最后一頁(yè) for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購(gòu)物信息 返回主頁(yè) a href=shoppingcarplay.jsp?nowpage=上一頁(yè)&nb

9、sp 第頁(yè)   共頁(yè) % else/不是最后一頁(yè) for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購(gòu)物信息 返回主頁(yè) a href=shoppingcarplay.jsp?nowpage=下一頁(yè)  第頁(yè)   共頁(yè) 下載購(gòu)物信息 返回主頁(yè) a href=shoppingcarplay.jsp?nowpage=上一頁(yè)  第頁(yè)   共頁(yè) 下載購(gòu)物信息 返回主頁(yè)

10、 a href=shoppingcarplay.jsp?nowpage=上一頁(yè)  a href=shoppingcarplay.jsp?nowpage=下一頁(yè)  第頁(yè)   共頁(yè) 書(shū)名書(shū)號(hào)作者 價(jià)格數(shù)量 % if(totalcount=3)/總頁(yè)面=1 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購(gòu)物信息 返回主頁(yè) 1 for(int i=0;i form metho

11、d=post action=alter.jsp?booknum= form method=post action=operate?operatetype=delete&booknum= 下載購(gòu)物信息 返回主頁(yè) 下一頁(yè)  第一頁(yè)   共頁(yè) 您的購(gòu)物車是空的! 返回主頁(yè) 3:顯示修改商品界面用jsp顯示修改商品信息的界面修改購(gòu)物車界面 /用form來(lái)提交修改的變量及書(shū)號(hào) form action=controloperate?operatetype=alter&booknum= method=post 您要訂購(gòu)的數(shù)量: 4:顯示成功添加商品用jsp顯示成功添加操作添加成功界面已成功加

12、入購(gòu)物車!返回主頁(yè)5:顯示成功更新商品用jsp顯示成功更新操作更新成功界面已成功更新您的購(gòu)物車!6:控制進(jìn)行各種操作功能用java servlet實(shí)現(xiàn)控制器控制進(jìn)行各種操作以及決定返回何種界面package shoppingcar;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.sql.*;public class controloperate extends httpservlet/重寫dopost方法對(duì)jsp請(qǐng)求進(jìn)行處理 public voi

13、d dopost(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception request.setcharacterencoding(gb2312);/獲取相關(guān)變量 string operatetype=(string)request.getparameter(operatetype); shoppingcar.operate ope=new shoppingcar.operate(); shoppingcar.writeexcel we=new shoppingcar

14、.writeexcel(); httpsession session = request.getsession(); if(operatetype.equals(add)/添加操作的處理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); string ip=(string)request.getremoteaddr(); ope.addbook(booknum,ip); response.sendredirect(addsuccess.jsp); if(ope

15、ratetype.equals(scan)/查詢操作的處理 arraylist rs=ope.getbook(); session.setattribute(rs,rs); if(rs0!=null) we.write(rs); response.sendredirect(shoppingcarplay.jsp); if(operatetype.equals(alter)/修改操作的處理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); string coun

16、t=(string)request.getparameter(count); ope.updatebook(booknum,count); response.sendredirect(updatesuccess.jsp); if(operatetype.equals(delete)/刪除操作的處理 request.setcharacterencoding(gb2312); string booknum= (string)request.getparameter(booknum); ope.deletebook(booknum); response.sendredirect(updatesucc

17、ess.jsp); if(operatetype.equals(deleteall)/清空購(gòu)物車操作的處理 request.setcharacterencoding(gb2312); ope.deleteallbook(); response.sendredirect(updatesuccess.jsp); 7:對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作功能 用javabean通過(guò)多個(gè)函數(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的多種操作package shoppingcar;import java.sql.*;import java.util.*;public class operate arraylist a; public void add

18、book(string booknum,string ip)/對(duì)數(shù)據(jù)庫(kù)進(jìn)行添加記錄操作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); /連接數(shù)據(jù)庫(kù) connection conn = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt = conn.createstatement(); string sql1=select * from 購(gòu)物車 where 書(shū)號(hào)=+booknum+ and ip地址=+ip+; resultset rs=st

19、mt.executequery(sql1); string sql2=insert into 購(gòu)物車(ip地址,書(shū)號(hào),數(shù)量) values(+ip+,+booknum+,1); if(!rs.next()/當(dāng)前不存在該條記錄直接插入 stmt.executeupdate(sql2); else/否則進(jìn)行更新操作 int newcount=rs.getint(數(shù)量);newcount+=1; string sql3=update 購(gòu)物車 set 數(shù)量=+newcount+ where 書(shū)號(hào)=+booknum+ and ip地址=+ip+; stmt.executeupdate(sql3); st

20、mt.close();conn.close(); catch(exception e) public void get() try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/創(chuàng)建支持

21、游標(biāo)滾動(dòng)的statement string sql=select 書(shū)名 , 書(shū)籍.書(shū)號(hào) , 作者 , 價(jià)格 , 數(shù)量 from 書(shū)籍 , 購(gòu)物車 where 書(shū)籍.書(shū)號(hào)=購(gòu)物車.書(shū)號(hào);/獲取結(jié)果的sql語(yǔ)句 resultset rs=stmt1.executequery(sql); if(rs.next() rs.last(); integer rows = rs.getrow(); rs.beforefirst(); this.a=new arraylistrows; int l =0; while (rs.next() /將結(jié)果集轉(zhuǎn)換為數(shù)組對(duì)象 this.al = new arraylis

22、t(); this.al.add(0,rs.getstring(1); this.al.add(1,rs.getstring(2); this.al.add(2,rs.getstring(3); this.al.add(3,rs.getstring(4); this.al.add(4,rs.getint(5); l+; /system.out.println(success5);/判斷該語(yǔ)句是否執(zhí)行成功 else this.a=new arraylist100; stmt1.close();conn1.close(); catch(exception e) public arraylist g

23、etbook() get(); return this.a;/返回?cái)?shù)組對(duì)象 public void updatebook(string booknum,string count)/對(duì)數(shù)據(jù)庫(kù)執(zhí)行修改操作作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insens

24、itive, resultset.concur_read_only);/創(chuàng)建支持游標(biāo)滾動(dòng)的statement int bookcount=integer.parseint(count); if(bookcount=0) deletebook(booknum); else string sql=update 購(gòu)物車 set 數(shù)量=+bookcount+ where 書(shū)號(hào)=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deletebook(string

25、 booknum)/對(duì)數(shù)據(jù)庫(kù)執(zhí)行刪除操作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/創(chuàng)建支持游標(biāo)滾動(dòng)的statement string sql=delete 購(gòu)物車 wher

26、e 書(shū)號(hào)=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deleteallbook()/清空購(gòu)物車 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); connection conn1 = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt1 = conn1.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);/創(chuàng)建支持游標(biāo)滾動(dòng)的statement s

溫馨提示

  • 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)論