




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計課程設(shè)計名稱: java課程設(shè)計 專 業(yè) 班 級 : 學(xué) 生 姓 名 : 學(xué) 號 : 指 導(dǎo) 教 師 : 課程設(shè)計時間: 2011.12.12-2011.12.23 計算機(jī)科學(xué)與技術(shù) 專業(yè)課程設(shè)計任務(wù)書學(xué)生姓名專業(yè)班級學(xué)號題 目網(wǎng)絡(luò)購物車課題性質(zhì)工程設(shè)計課題來源自擬課題指導(dǎo)教師同組姓名無主要內(nèi)容 淘寶、京東、易購等都是知名度很大的電子商務(wù)網(wǎng)站,而對于電子商務(wù)網(wǎng)站來說一個很重要的組成部分便是網(wǎng)絡(luò)購物車,要求利用html、jsp、servlet、數(shù)據(jù)庫等知識點,結(jié)合相關(guān)設(shè)計模式、以及軟件工程的相關(guān)知識,在經(jīng)過需求分析、總體設(shè)計、詳細(xì)設(shè)計等流程步驟以后,設(shè)計一個網(wǎng)絡(luò)購物車。主要功能是記
2、錄和操作不同客戶的網(wǎng)上購物信息。該系統(tǒng)能對購物車中商品信息進(jìn)行查詢、增加、修改、刪除、清空、下載等操作,商品信息存儲在數(shù)據(jù)庫中。任務(wù)要求 綜合運用所學(xué)的java程序設(shè)計基本知識,并能通過查閱相關(guān)文獻(xiàn)材料,獨立完成該課題的設(shè)計開發(fā)工作。要求根據(jù)本課題設(shè)計合理的數(shù)據(jù)結(jié)構(gòu),并實現(xiàn):商品展示、操作成功提示、購物車展示等視圖界面;對商品信息的查詢、增加、修改、刪除、清空、下載等功能模塊。系統(tǒng)采用tomcat、記事本等開發(fā)工具進(jìn)行開發(fā)實現(xiàn)。根據(jù)系統(tǒng)功能,結(jié)合軟件開發(fā)流程,完成設(shè)計報告的撰寫。參考文獻(xiàn)1 (美)cay s. horstmann、gary cornell. java核心技術(shù)卷i:基礎(chǔ)知識(第8
3、版)(英文影印版).人民郵電出版社, 2008.112 耿祥義、張躍平. java2實用教程(修訂). 清華大學(xué)出版社,2001.103 楊小平 java項目案例導(dǎo)航 科學(xué)出版社,2003.74 傅進(jìn)勇、鄧少烽、李波 jsp網(wǎng)絡(luò)編程 電子工業(yè)出版社 2008.5審查意見指導(dǎo)教師簽字:教研室主任簽字: 年 月 日 網(wǎng)絡(luò)購物車一:需求分析 利用html、jsp、java、servlet、數(shù)據(jù)庫等知識點,結(jié)合相關(guān)設(shè)計模式、以及軟件工程的相關(guān)知識,設(shè)計一個網(wǎng)站購物車,用于記錄不同客戶的購物訂單,并能對購物車中商品信息進(jìn)行查詢、修改、刪除、清空、下載等操作,商品信息存儲在數(shù)據(jù)庫中。具體要實現(xiàn)的功能如下:
4、1:顯示商品展示界面、操作成功界面、購物車展示界面等界面。2:商品信息存儲在數(shù)據(jù)庫中。3:對商品信息能夠進(jìn)行查詢、修改、刪除、清空、下載等操作。4:使用mvc設(shè)計模式(view(jsp)、model(javabean)、controller(servlet))。5:在瀏覽器中輸入訪問信息進(jìn)行訪問。6:購物車信息分頁顯示。二:概要設(shè)計本次課程設(shè)計中使用了mvc設(shè)計模式,jsp作為view,javabean作為model,servlet作為controller,實現(xiàn)界面與邏輯的分離,模塊之間松耦合,通過傳遞參數(shù)進(jìn)行調(diào)用。jsp頁面通過發(fā)送一個操作類型變量,從而使得controller獲知應(yīng)當(dāng)進(jìn)行的
5、操作,并通過調(diào)用javabean進(jìn)行實際的執(zhí)行,這樣頁面與邏輯就得到了分離,互不干涉和影響。使用數(shù)據(jù)庫存儲購物信息,在數(shù)據(jù)庫中對商品信息進(jìn)行增、刪、改、查等操作,此外控制器通過調(diào)用writeexcel類,在每次查看信息之前把當(dāng)前的商品信息寫入到xls文件中進(jìn)行保存,并供用戶下載。具體的設(shè)計模塊及系統(tǒng)流程如下圖所示:shoppingcarmessage.xlsshoppingcar數(shù)據(jù)庫writeexcel.javacontroloperate.javaoperate.java返回響應(yīng)返回結(jié)果數(shù)據(jù)庫或文件modelcontrollerview執(zhí)行操作進(jìn)行調(diào)用發(fā)送請求updatesuccess.j
6、spalter.jspshoppingcarplay.jspdefault.jspaddsuccess.jsp三:運行環(huán)境、開發(fā)語言運行環(huán)境:windows xp 瀏覽器開發(fā)語言:html、jsp、java四:詳細(xì)設(shè)計1:程序清單 java課程設(shè)計網(wǎng)絡(luò)購物車文件功能對應(yīng)表序號 文件名功能 1default.jsp顯示商品信息 2shoppingcarplay.jsp顯示購物車信息 3alter.jsp顯示修改商品頁面 4addsuccess.jsp顯示成功添加商品 5updatesuccess.jsp顯示成功更新商品 6controloperate.java控制進(jìn)行各種操作 7operate.
7、java對數(shù)據(jù)庫進(jìn)行操作 8write.excel.jaava生成excel信息文件 9shoppingcarmessage.xls記錄購物車信息2:主要代碼1:顯示商品信息界面用jsp來顯示主界面登錄主頁面歡迎光臨百味書屋!/用表格來排列顯示信息書名:貨幣戰(zhàn)爭書號:0001作者:王一價格:23書名:我的抗戰(zhàn)書號:0002作者:王二價格:33書名:你貓叔了沒書號:0003作者:王三價格:43書名:贊美你書號:0004作者:王四價格:53書名:刀尖書號:0005作者:王五價格:63書名:人脈是設(shè)計出來的書號:0006作者:王六價格:73書名:龍年運程書號:0007作者:王七價格:83書名:最好的
8、時光在路上書號:0008作者:王八價格:93書名:七日談書號:0009作者:王九價格:1032:顯示購物車信息界面用jsp分頁顯示購物車中的商品信息購物車界面您的購物車列表: 書名書號作者 價格數(shù)量 =totalcount)/當(dāng)前頁面為最后一頁 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購物信息 返回主頁 a href=shoppingcarplay.jsp?nowpage=上一頁&nb
9、sp 第頁   共頁 % else/不是最后一頁 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購物信息 返回主頁 a href=shoppingcarplay.jsp?nowpage=下一頁  第頁   共頁 下載購物信息 返回主頁 a href=shoppingcarplay.jsp?nowpage=上一頁  第頁   共頁 下載購物信息 返回主頁
10、 a href=shoppingcarplay.jsp?nowpage=上一頁  a href=shoppingcarplay.jsp?nowpage=下一頁  第頁   共頁 書名書號作者 價格數(shù)量 % if(totalcount=3)/總頁面=1 for(int i=0;i form method=post action=alter.jsp?booknum= form method=post action=controloperate?operatetype=delete&booknum= 下載購物信息 返回主頁 1 for(int i=0;i form metho
11、d=post action=alter.jsp?booknum= form method=post action=operate?operatetype=delete&booknum= 下載購物信息 返回主頁 下一頁  第一頁   共頁 您的購物車是空的! 返回主頁 3:顯示修改商品界面用jsp顯示修改商品信息的界面修改購物車界面 /用form來提交修改的變量及書號 form action=controloperate?operatetype=alter&booknum= method=post 您要訂購的數(shù)量: 4:顯示成功添加商品用jsp顯示成功添加操作添加成功界面已成功加
12、入購物車!返回主頁5:顯示成功更新商品用jsp顯示成功更新操作更新成功界面已成功更新您的購物車!6:控制進(jìn)行各種操作功能用java servlet實現(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方法對jsp請求進(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)/清空購物車操作的處理 request.setcharacterencoding(gb2312); ope.deleteallbook(); response.sendredirect(updatesuccess.jsp); 7:對數(shù)據(jù)庫進(jìn)行操作功能 用javabean通過多個函數(shù)實現(xiàn)對數(shù)據(jù)庫的多種操作package shoppingcar;import java.sql.*;import java.util.*;public class operate arraylist a; public void add
18、book(string booknum,string ip)/對數(shù)據(jù)庫進(jìn)行添加記錄操作 try class.forname(sun.jdbc.odbc.jdbcodbcdriver); /連接數(shù)據(jù)庫 connection conn = drivermanager.getconnection(jdbc:odbc:shoppingcar,sa,111111); statement stmt = conn.createstatement(); string sql1=select * from 購物車 where 書號=+booknum+ and ip地址=+ip+; resultset rs=st
19、mt.executequery(sql1); string sql2=insert into 購物車(ip地址,書號,數(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 購物車 set 數(shù)量=+newcount+ where 書號=+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)滾動的statement string sql=select 書名 , 書籍.書號 , 作者 , 價格 , 數(shù)量 from 書籍 , 購物車 where 書籍.書號=購物車.書號;/獲取結(jié)果的sql語句 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ù)組對象 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);/判斷該語句是否執(zhí)行成功 else this.a=new arraylist100; stmt1.close();conn1.close(); catch(exception e) public arraylist g
23、etbook() get(); return this.a;/返回數(shù)組對象 public void updatebook(string booknum,string count)/對數(shù)據(jù)庫執(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)滾動的statement int bookcount=integer.parseint(count); if(bookcount=0) deletebook(booknum); else string sql=update 購物車 set 數(shù)量=+bookcount+ where 書號=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deletebook(string
25、 booknum)/對數(shù)據(jù)庫執(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)滾動的statement string sql=delete 購物車 wher
26、e 書號=+booknum+; stmt1.executeupdate(sql); stmt1.close();conn1.close(); catch(exception e) public void deleteallbook()/清空購物車 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)滾動的statement s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 模具技術(shù)規(guī)范大全
- 淋?。╣onorrhea)診療規(guī)范
- 老年人跳舞的害處
- 老年人的法律課件
- 老師課前介紹課件
- 2025年白酒行業(yè)市場需求分析報告及未來五至十年行業(yè)預(yù)測報告
- 跨區(qū)域柴油供貨合同規(guī)范范本
- 傳統(tǒng)中醫(yī)技藝師承關(guān)系合作協(xié)議書
- 財務(wù)報表編制流程優(yōu)化培訓(xùn)合同
- 餐飲店品牌推廣與營銷合作協(xié)議
- 企業(yè)碳排放管理制度
- 2025年北京市第一次普通高中學(xué)業(yè)水平合格性考試歷史試題(含答案)
- ODM合同范本模板
- 血管導(dǎo)管相關(guān)血流感染預(yù)防控制
- T-NMSP 3-2022 高寒地區(qū)汽車試驗場地建設(shè)技術(shù)指南
- T-SDEPI 046-2024 微生物菌劑修復(fù)河道水體技術(shù)規(guī)程
- 醫(yī)院消毒劑知識培訓(xùn)課件
- 2024年秋七年級上冊英語單詞表
- 2025年湖南網(wǎng)絡(luò)工程職業(yè)學(xué)院單招職業(yè)技能測試題庫含答案
- DB1303-T352-2023食品快速檢測產(chǎn)品驗收技術(shù)規(guī)范
- 2025年中考物理熱點題型專項訓(xùn)練:實驗之探究平面鏡成像的特點 (解析版)
評論
0/150
提交評論