網上書店系統(tǒng)畢業(yè)設計_報告_第1頁
網上書店系統(tǒng)畢業(yè)設計_報告_第2頁
網上書店系統(tǒng)畢業(yè)設計_報告_第3頁
網上書店系統(tǒng)畢業(yè)設計_報告_第4頁
網上書店系統(tǒng)畢業(yè)設計_報告_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 . . . 2012屆畢業(yè)生畢業(yè)設計題目: 基于web的網絡書店系統(tǒng)的開發(fā)與設計 院系名稱: xxx 專業(yè)班級: xx 學生:xx 學號:xx 指導教師: xx 教師職稱: 講 師 年 月日42 / 42目 次 1 引言 項目開發(fā)背景11.1 項目選題的背景與意義 21.2 國外研究現(xiàn)狀和發(fā)展動態(tài) 32 第一章 需求分析 42.1 用戶需求 52.1 開發(fā)需求 83 第二章 概要設計113.1 項目主體模塊設計 113.2 項目基本功能設計 143.3 項目數據庫設計 164 第三章 數據庫設計174.1 數據庫表設計 175 第四章 詳細設計205.1 開發(fā)規(guī) 205.2 程序設計說明 2

2、25.3 主要代碼設計 245.4 視圖設計 26結論 40致 41參考文獻42附錄A 項目源代碼 431 引言11 論文選題的背景與意義隨著全球經濟一體化的逐步發(fā)展和深入,網絡書店已成為傳統(tǒng)書店必不可少的經營策略之一.目前,網絡書店在國際互聯(lián)網上可以實現(xiàn)的商務已經多樣化,可以完成從最基本的信息展示、信息發(fā)布功能到在線交易、在線客戶服務、在線管理功能等,可以說,傳統(tǒng)書店所具備的功能幾乎都可以在互聯(lián)網上進行電子化的高效動作。雖然傳統(tǒng)書店規(guī)模有所不同,隨著網上交易的開展,都將有力地改變企業(yè)的發(fā)展空間,會對企業(yè)的競爭力產生不可忽視的影響。這些影響主要體現(xiàn)在以下方面。1、改變企業(yè)競爭方式 企業(yè)上網不僅

3、給消費者和企業(yè)提供了更多的選擇消費與開拓銷售市場的機會,而且也是提供了更加密切的信息交流場所,從而提高了企業(yè)把握市場和消費者了解市場的能力。同時企業(yè)上網擴大了企業(yè)的競爭領域,使企業(yè)從常規(guī)的廣告競爭、促銷手段等領域的競爭擴大到無形的虛擬競爭空間。 2、改變企業(yè)競爭基礎網絡書店改變了企業(yè)競爭的交易成本。網絡書店具有投入成本低、批發(fā)數量大與用戶多的優(yōu)勢。電子商務也使企業(yè)規(guī)模影響競爭力的基礎發(fā)生了改變。例如在傳統(tǒng)的銷售渠道中,大書商與小書商之間的競爭差別很大。電子商務使大書商與小書商之間規(guī)模差距的競爭變得幾乎微不足道。美國西雅圖亞馬遜公司在網上開辦了一家大型書店,提供250萬冊圖書供在線購買。只有兩個

4、人管理的網絡書店提供的書目和服務,幾乎可以與200人管理的傳統(tǒng)書店提供的書目和服務一樣。 3、改變企業(yè)的競爭模式 網絡書店的經驗表明,如果網絡書店可以為顧客提供品種齊全的圖書、折扣以與靈活的條件、可靠的安全性和友好的界面,在線購物者一般都愿意在網上進行圖書交易。、12 論國外研究現(xiàn)狀和發(fā)展動態(tài)國外的Web商務系統(tǒng)應用起步較早,所以應用的領域比較廣,網絡銷售已經在人們日常消費中占到一定比例,Web商務系統(tǒng)也比較成熟。人們可以以網絡這個載體,足不出戶就可以搜索、查詢到自己需要的信息、購買自己需要的商品。我國電子商務的發(fā)展起源于70年代的EDI應用,我國海關是最早引入EDI進行報關,經過幾年的完善發(fā)

5、展目前企業(yè)可以通過上網申請報關。電子商務概念首次引入中國實在1993年,第一筆網上交易發(fā)生在1996年。1、目前我國網上書店的主要類型有:由國有新華書店投資建設的網絡書店。一些有實力的傳統(tǒng)書店,都會建立自己的,利用網絡促銷,爭取更多的市場份額。它們主要依托傳統(tǒng)的圖書大廈的圖書存儲進行網絡售書,屬于新華書店網絡或網絡的書店。由建立的網絡書店。因為網絡出版的緣故,是最早觸網的,我國500多家中,已建立的有349家,占62%。較好的營銷建設的特點是:以本社出版物為核心,突出特色,訪問速度快捷,信息與時更新,容的合理編排以與完善的檢索能力,較強的交互能力。外貿出版公司投資建設的網絡書店。這一類網絡書店

6、立足公司主營業(yè)務,主要對海外進行圖書銷售,銷售量逐漸增加。非出版業(yè)資本投資建設的網絡書店。如卓越網。就目前情況而言,上述幾類的網絡書店可以分為兩大類。一類是沒有實體書店的網絡書店,以卓越網為代表,還有一類是以實體書店為支撐的。前一類書店已經逐步銷售更多的商品,在很大程度上是以圖書為主打產品,開發(fā)其它商品作為補充,如卓越網在大幅增加圖書音像品種的同時,陸續(xù)增加了數碼產品、手機、家居、健康用品和化妝品、玩具禮品、鐘表首飾、廚具、母嬰產品、小家電等等。2、網絡書店面臨的困境國網絡書店的目的主要有:利用圖書銷售盈利、效仿亞馬遜提高無形資產價值、以拉廣告賺錢、緊跟電子商務潮流等,其中,前兩種占大多數。然

7、而,實際情況是網絡書店并未達到預期的效果,有的根本沒什么訪問量,有的雖然訪問人數眾多,但成交有限、營銷平淡,同時網上廣告也并未被大商家認同。3、網絡書店的意義在中國,網絡書店有發(fā)展的必要,也有發(fā)展的基礎,發(fā)展網絡書店的條件也已經成熟,但是還有幾個關鍵的問題必須解決好:一是提供普通的信用卡網上支付,制定方便的銀行間結算問題;二是成立統(tǒng)一的、最權威的認證機構,從而解決安全問題;三是構建高效率的圖書配送系統(tǒng)。只有把這些問題解決好了,才能保證網絡書店的蓬勃發(fā)展。很多人看到了書這種商品網上銷售的諸多好處:方便購買、金額小、風險小、用戶易決定,以與信息的完整性可以更好地幫助我們選擇,也提供了更多地選擇。2

8、 第一章 需求分析21 用戶需求基于WEB的網絡書店系統(tǒng)主要實現(xiàn)網上購書,最終實現(xiàn)用戶通過訪問本進行選購自己喜歡的商品,然后網上下達訂單、修改訂單、結算、創(chuàng)建個人資料,修改個人資料留言等。運行路線為用戶通過請求一個JSP頁面,然后后臺調用處理該功能的Servlet,Servlet接著調用底層的業(yè)務層,最終服務器根據用戶請求返回用戶查詢的結果。系統(tǒng)基本要實現(xiàn)用戶注冊、用戶登錄、修改資料、下達訂單、網上結算、搜索等功能。本系統(tǒng)使用方便,用戶只需輸入網址即可進入系統(tǒng)主界面瀏覽所有商品,注冊方便快捷,對使用者來說無需精通計算機知識易可操作。項目的維護者需具備JSP知識和Java基礎等知識,以備在擴充和

9、刪減功能。對功能的規(guī)定:用戶輸入文本字段數據庫(商品表)商品基本信息商品檢索: 查詢 返回用戶點擊購買商品購物車(商品)商品信息(含件數)購買商品: 添加 返回22 開發(fā)目標此系統(tǒng)采用MVC架構模式,將業(yè)務層和邏輯層進行了分離,便于日后的修改與維護,維護人員只需修改部分業(yè)務即可,而且不會對系統(tǒng)其他功能產生影響。用戶查詢商品時輸入必須輸入字符串否則查詢不到相關商品。輸出信息:用戶注冊時如果輸入的容不匹配,將會出現(xiàn)紅色顏色的字體提示。環(huán)境方面,系統(tǒng)分辨率最好為1024*768,瀏覽器為IE最佳。數據庫編碼應為UTF-8。故障處理:主要可能是tomcat配置問。導致結果:無法運行,系統(tǒng)提示錯誤。軟件

10、方面故障:根據實際的頁面業(yè)務進行判斷。導致結果:頁面出錯,功能不完善或錯亂等。流程設計:展示所有商品:Bookindex1.jsp 通過點擊商品進入 購物車:shoping.jsp若購買商品需進行登錄,若是不是會員需進入 注冊頁面:register.jsp register.jsp 然后進入登錄頁面:login.jsp 我的賬戶:userInfo.jsp 可以上傳頭像UploadImage.jsp以與進入留言頁面liuyan.jsp以與后臺管理頁面bkLogin.jsp,添加書頁面bkAdd.jsp,后臺書本信息bkShowBookInfo.jsp以與查看日志功能.3 第二章 概要設計31 項

11、目主體模塊3.1.1對性能的規(guī)定a.靈活性方面, 此系統(tǒng)采用MVC架構模式,將業(yè)務層和邏輯層進行了分離,便于日后的修改與維護,維護人員只需修改部分業(yè)務即可,而且不會對系統(tǒng)其他功能產生影響。b.環(huán)境方面,系統(tǒng)分辨率最好為1024*768,瀏覽器為IE最佳。數據庫編碼應為UTF-8。3.1.2輸人輸出要求用戶查詢商品時輸入相關信息否則檢索不到相關商品。輸出信息:用戶注冊時如果輸入的容不匹配,將會出現(xiàn)紅色顏色的字體提示。3.1.3數據管理能力要求需管理的數據表:書表:book;用戶表:user;用戶消費信息表:userRecord表;用戶賬戶表:userAccount;庫存表:stack;其中表中各

12、項數據的長度一般為30.可隨實際情況進行修改。若含有URL 大小一般定為100.(也可根據實際情況進行長度修改)。3.1.4故障處理要求環(huán)境方面故障:主要可能是tomcat配置問。導致結果:無法運行,系統(tǒng)提示錯誤。軟件方面故障:根據實際的頁面業(yè)務進行判斷。導致結果:頁面出錯,功能不完善或錯亂等。3.1.5其他專門要求對于用戶需安全方面的信息采用MD5加密。3.2運行環(huán)境3.2.1 設備屏幕分辨率:最佳分辨率為1024*768;3.2.2支持軟件支持Windows、Linux等系統(tǒng)使用。3.2.3 接口服務器接口:8088數據通信協(xié)議: 3.3 接口設計3.3.1部接口展示所有商品:Bookin

13、dex1.jsp 通過點擊商品進入 購物車:shoping.jsp若購買商品需進行登錄,若是不是會員需進入 注冊頁面:register.jsp register.jsp 然后進入登錄頁面:login.jsp 我的賬戶:userInfo.jsp 可以上傳頭像UploadImage.jsp以與進入留言頁面liuyan.jsp以與后臺管理頁面bkLogin.jsp,添加書頁面bkAdd.jsp,后臺書本信息bkShowBookInfo.jsp以與查看日志功能.3.4運行設計3.4.1運行模塊組合:用戶注冊實現(xiàn)功能:本頁面要實現(xiàn)用戶注冊信息的功能,并在客戶端進行用戶提交的基本信息的驗證,驗證成功后再提

14、交到數據庫進行驗證。所需用到知識:jQuery表單驗證、驗證碼的使用、圖片代替提交按鈕、層的布局與使用,數據庫連接池。用戶登錄實現(xiàn)功能:主要實現(xiàn)用戶登錄的功能。只需進行簡單的數據驗證即可提交服務器,然后根據用戶提交的信息查詢數據庫,如果與數據庫里的信息一致方可成功登錄系統(tǒng)。所需用到知識:jQuery表單驗證、圖片代替提交按鈕、層的布局與使用,數據庫連接池。個人信息管理實現(xiàn)功能:管理用戶使用本站的詳細信息。包括用戶注冊相關信息等。所用到知識:Servlet和JSP動態(tài)顯示用戶登錄信息,數據庫增刪改查功能。我的購物車實現(xiàn)功能:動態(tài)顯示用戶的購物信息,統(tǒng)計用戶所購的商品信息。所用到知識:Servle

15、t和JSP動態(tài)顯示用戶登錄信息,數據庫增刪改查功能。個人資料管理實現(xiàn)功能:供用戶修改個人詳細信息。所用到知識:表單的詳細使用,數據庫連接池與數據庫更新功能。商品詳細信息頁面實現(xiàn)功能:此頁面主要顯示用戶欲購買的商品的詳細信息。所用知識:Servlet和JSP動態(tài)顯示用戶登錄信息,數據庫查詢。3.5系統(tǒng)數據結構設計3.5.1邏輯結構設計要點數據庫名:WBS標示符:書表:book;用戶表:user;用戶賬戶表:userAccount;留言表:liuyan;庫存表:stack;管理員表:super;3.5.2物理結構設計要點通過MD5加密方法實現(xiàn)用戶信息的,并存儲于數據庫。3.6系統(tǒng)出錯處理設計3.6

16、.1出錯信息a. 404請求錯誤。b. 505相應錯誤。4 第三章 數據庫設計41 數據庫表本項目采用mysql數據庫。數據表如下:4.1圖書表書表(book)字段名字段類型字段長度是否為空是否為主鍵idint非是BookNamevarchar30否BookAuthorvarchar30否BookPricefloat(10,2)否BookImageURLvarchar100否BookLibraryIdint否BookPublishchar30否BookPublishTimedate否BookRebatefloat(10)否BookFilechar100否BookPagesint否BookTot

17、alint否BookCodechar30否BookEditionchar30否4.2 用戶表 用戶表(user)字段名字段類型字段長度是否為空是否為主鍵idint是usernamevarchar30否passwordvarchar30否emailvarchar30否userPicturevarchar100否4.3 書類表書類表(BookLibrary)字段名字段類型字段長度是否為空是否為主鍵Idint非是BookLibraryNamevarchar30否4.4 用戶賬戶表用戶賬戶表(UserAccount)字段名類型長度是否為空主鍵外鍵idint非是userNamevarchar30否Bal

18、ancefloat(10,2)否4.5 用戶消費表用戶消費表(ConsumRecord)字段名類型長度是否為空主鍵外鍵idint非是userIdIntConsumTimedateBuyBookNamevarchar304.6 留言表留言表(messages)字段名類型長度是否為空主鍵外鍵idint非是userIdint6否Messagevarchar300否4.7 留言回復表replymessage4.8 管理員表super5 第四章 詳細設計51 開發(fā)規(guī)5.1.1定義a.包命名方法:.jingdong.#;(#:biz,bocodechange, controller, bo,db,file

19、ter,listener,md5,upload,Upload.util, vo等各類包。)b.Jsp頁面位置:所以jsp頁面均存在WEBROOT目錄下,后臺頁面放置在WEBROOT目錄下的background目錄中;c.統(tǒng)一WebRoot各個jsp頁面均引用相對應的文件夾的資源圖片資源統(tǒng)一在一個文件夾d.在WebRoot/WEB-INF/lib下存放需要的jar文件。commons-collections-3.2.1.jar,commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar,commons-logging-1.1.1.jar,cos.jar,F

20、ileUpload.jar,filters-2.0.235.jar,jcaptcha-api-1.0.jar,jcaptcha-2.0-alpha-1-SNAPSHOT.jar,jcaptcha-integration-simple-servlet-2.0-alpha-1-SNAPSHOT.jar, kaptcha-2.3.2.jar,mysql.jar;*注: 1 所有JSP頁面的樣式設計要與JSP頁面分離 2 JavaScript腳本與頁面分離 3 頂部和尾部頁面只需調用即可,無需設計。(注:保持每個頁面頂部與底部的一致性)4 將自己用到的文件存在WEBROOT下的IMAGES包里,便于日

21、后整合。 5 頁面名字以與包名要統(tǒng)一為上面的,便于調用以與減少后期修改時間。6 如需新增頁面或者jar文件、js或css等??梢愿鶕嶋H情況增加,但是務必放于指定的位置下。7 其他需要的容自己先定義,然后再與小組其他人員討論。5.2程序設計說明5.2.1程序頁面描述JSP頁面設計注冊頁面:register.jsp用戶登錄頁面:login.jsp管理員登陸頁面:bkLogin.jsp首頁:Bookindex1.jsp展示所有商品:Bookindex1.jsp分類頁面:Bookclass.jsp高級查詢頁面:ComplexQuery.jsp錯誤頁面:fail.jsp留言頁面:liuyan.jsp商

22、品詳細信息頁面:product.jsp上傳圖像頁面:UploadImage.jsp賬戶信息:userInfo.jsp管理員添加書籍頁面:bkAdd.jsp查看系統(tǒng)運行日志頁面:looklog.jsp5.2.2程序業(yè)務描述a.數據庫連接池:DBManager(已經建立統(tǒng)一的池,可以直接調用);b.數據庫:數據庫名:WBS;書表:book;用戶表:user;用戶消費記錄表:userRecord表;庫存表:stack表;用戶賬戶表:userAccount表;c.前期業(yè)務:主要實現(xiàn)注冊、登錄、注銷、修改密碼、驗證碼業(yè)務、訂單的提交并著手開始建立購物車業(yè)務。中期業(yè)務:提取已提交的訂單信息、所有商品的分類

23、、購物車的完善、個人資料提交、以與搜索功能的完善、上傳業(yè)務。后期業(yè)務:添加購物車到商品頁面、并完成其分頁業(yè)務、MD5加密業(yè)務、監(jiān)聽和過濾業(yè)務、后臺管理業(yè)務等。(并可以根據自己的想法提出建議再做增加)。5.2.3功能用戶輸入文本字段數據庫(商品表)商品基本信息商品檢索: 查詢 返回用戶點擊購買購物車(商品)商品信息(含件數)購買商品: 添加 返回此系統(tǒng)采用MVC架構模式,將業(yè)務層和邏輯層進行了分離,便于日后的修改與維護,維護人員只需修改部分業(yè)務即可,而且不會對系統(tǒng)其他功能產生影響。5.2.4輸人輸出要求用戶查詢商品時必須輸入,否則查詢不到相關商品。輸出信息:用戶注冊時如果輸入的容不匹配,將會出現(xiàn)

24、紅色顏色的。5.2.5接口服務器端口:8080。數據通信協(xié)議: 。數據庫層:.jingdong.db 連接數據庫可調用該層的類DBManagerJavabean層:. jingdong.vo 該層提供了User,等具體類Dao層:. jingdong.dao 提供了BaseDao,PublicDao等類控制層:.jingdong.controller 可針對每一個功能創(chuàng)建相應的servlet業(yè)務層:.jingdong.bo 可創(chuàng)建具體的業(yè)務類5.2.6限制條件服務器端口:8080。數據通信協(xié)議: 。屏幕分辨率:最佳分辨率為1024*768;最佳瀏覽器:IE5.2.7測試計劃環(huán)境配置成功后,運行

25、各個頁面,所有按鈕功能和數據庫連接查詢等功能皆能實現(xiàn)。5.3主要代碼設計說明5.3.1數據庫代碼設置數據庫編碼信息set character_set_database=utf8;set character_set_server=utf8;set character_set_connection=utf8;set character_set_client=utf8;set character_set_results=utf8;set collation_connection=utf8_bin ; set collation_database=utf8_bin ; set collation_se

26、rver=utf8_bin;drop database if exists WBS;#如果商品數據庫不存在就創(chuàng)建之create database if not exists WBScharacter set 'utf8' collate 'utf8_general_ci'use WBS;創(chuàng)建BookLibrary表create table BookLibrary(id int auto_increment, BookLibraryName varchar(30), primary key(id);創(chuàng)建BookPublish表create table BookPu

27、blish(id int auto_increment,BookPublishName varchar(30), BookPublishAddress varchar(60), BookPublishTell varchar(30), BookPublishPerson varchar(30), primary key(id);創(chuàng)建Book表 BookRebate書本折扣 BookCode 條形碼 BookEdition 版次create table Book(id int auto_increment, BookName varchar(30), BookAuthor varchar(30)

28、, BookPrice float(10,2), BookImageURL varchar(100), BookLibraryId int, BookPublish char(30), BookPublishTime date, BookRebate float(10), BookFile char(100), BookPages int, BookTotal int, BookCode char(30), BookEdition char(30), primary key(id); 創(chuàng)建user表 create table user(id int auto_increment, userna

29、me varchar(30) not null, password varchar(30) not null, email varchar(30) not null, userPicture varchar(100), primary key(id);創(chuàng)建SellList表create table SellList(id int auto_increment, BookId int, SellTime date, BookAmount int, primary key(id);創(chuàng)建EnterBookList表 EnterBookRebate 進書折扣create table EnterBook

30、List(id int auto_increment, BookId int,BookEnter date, BookAmount int, EnterBookRebate float(10), primary key(id);創(chuàng)建UserAccount表create table UserAccount(id int auto_increment, userName varchar(30), Balance float(10,2), primary key(id);創(chuàng)建ConsumRecord表 create table ConsumRecord(id int auto_increment,

31、userId int, ConsumTime date, BuyBookName varchar(30), primary key(id),foreign key (userId) references user(id) on delete cascade on update cascade);創(chuàng)建Message表 create table Message(id int auto_increment, MessageInfo varchar(100), primary key (id);創(chuàng)建Stack表 Stack書庫 create table Stack(id int auto_increm

32、ent, BookLibraryId int, BookId int, BookAmount int, primary key (id),foreign key (BookLibraryId) references BookLibrary(id) on delete cascade on update cascade,foreign key (BookId) references Book(id) on delete cascade on update cascade);BookList表 書目錄表create table BookList( id int primary key not nu

33、ll auto_increment, bookId int, list1 char(60), list2 char(60), list3 char(60), list4 char(60), list5 char(60) ); 管理員表create table Super( id int auto_increment, username varchar(30) not null, password varchar(100)not null, email varchar(30) not null, userPicture varchar(100), primary key(id);留言表creat

34、e table LiuYan( id int auto_increment, userId int not null, Message varchar(300) not null, primary key(id),foreign key (userId) references user(id) on delete cascade on update cascade);回復留言表create table replymessage( id int(11)not null auto_increment, content varchar(250)default null, msgId int(11)d

35、efault null, adminId int(11)default null, publishDate date default null,primary key(id);5.3.2底層數據庫連接代碼publicclass DBManager /創(chuàng)建數據庫連接類privatestatic DBManager dbManager=null;private DBManager()/單例模式,單次只生成一個數據庫連接對象publicsynchronizedstatic DBManager getInstance()if(dbManager=null)dbManager=new DBManager

36、();returndbManager;/通過數據連接池創(chuàng)建數據庫連接publicsynchronizedstatic Connection getConnection() throws SQLException, NamingExceptionreturn (DataSource)new InitialContext().lookup("java:comp/env/jdbc/WBS").getConnection();/關閉數據庫連接方法privatestaticvoid closeConn(Connection conn) throws SQLExceptionif(co

37、nn!=null)conn.close();conn=null;/關閉數據庫傳參方法privatestaticvoid closeStmt(PreparedStatement pstmt) throws SQLExceptionif(pstmt!=null)pstmt.close();pstmt=null;/關閉結果集方法privatestaticvoid closeRs(ResultSet rs) throws SQLExceptionif(rs!=null)rs.close();rs=null;/調用以上關閉方法,形成關閉總方法publicstaticvoid close(Connecti

38、on conn,PreparedStatement pstmt,ResultSet rs) throws SQLExceptioncloseRs(rs);closeStmt(pstmt);closeConn(conn);5.3.3底層業(yè)務代碼A、圖書展示主頁以與購物車部分業(yè)務publicclass ShopCartBo /添加日志Logger log=Logger.getLogger(".jingdong.controller.ShopCartBo.class");/統(tǒng)計商品表中商品的數量(即獲取總的記錄條數)publicint getWareTotalRows() thr

39、ows NamingException, SQLExceptionString sql = "select count(*) as totalRows from book "Map count=new PublicDao().getRowsMap(sql,null);/獲取所有商品數集合int totalRows=0;if(count!=null&&count.length>0)totalRows=(Long)count0.get("totalRows").intValue();return totalRows;/查詢得到的總的記錄

40、數/分頁查詢/* * startIndex當前頁起始位置 * currentPage當前頁碼 * pageSize每頁顯示的條目數 * */public Map getWarePage(int currentPage,int pageSize) throws NamingException, SQLException/mysql的分頁查詢一般使用limit即可String sql = "select * from Book limit ?,?" /計算下一數據頁索引的開始位置( 算法:下一頁起始索引=(當前頁-1)*每頁顯示記錄數 )int startIndex=(curr

41、entPage-1)*pageSize; List paramList = new ArrayList();paramList.add(new Integer(startIndex);paramList.add(new Integer(pageSize);returnnew PublicDao().getRowsMap(sql,paramList);/按startIndex與pageSize的預編譯參數傳遞,查詢分頁頁面信息 /所有商品列表public Map queryWareList() throws NamingException, SQLExceptionString sql = &q

42、uot;select * from book"returnnew PublicDao().getRowsMap(sql,null);/依據商品標識號查詢出商品public Map queryAllThingById(int id,String sql) throws SQLException, NamingExceptionreturnnew ShoppingDao().queryWareList(id, sql);/依據商品標識號查詢出商品public Map queryWareList(int cid) throws NamingException, SQLExceptionSt

43、ring sql = "select * from book where id=?"List paramList = new ArrayList();paramList.add(new Integer(cid);returnnew PublicDao().getRowsMap(sql,paramList);/判斷欲添加商品在購物車中是否存在private BookItem isEquals(Map<Integer,BookItem> shoppingCart,Book book)BookItem bookItem=null;for(Integer key:sho

44、ppingCart.keySet()bookItem=shoppingCart.get(key);/遍歷查詢判斷商品項是否存在if(bookItem!=null)if(bookItem.getBook().getId()=book.getId()bookItem.setCount(bookItem.getCount()+1);subtotal(bookItem,book); /小計金額return bookItem;returnnull; /判斷數據庫中是否有欲添加的商品private Book isEquals(Map map,int id)if(map!=null&&map

45、.length>0)if(map0!=null)Book book=new Book();book.setId(Integer)map0.get("id");book.setBookPrice(Float)map0.get("BookPrice");book.setBookName(map0.get("BookName").toString();return book;/判斷數據庫查詢結果中商品是否存在,如果存在封裝到VO中returnnull;/小計金額privatevoid subtotal(BookItem bookIte

46、m,Book book)bookItem.setSubtotal(bookItem.getCount()*bookItem.getBook().getBookPrice(); /向新產生的商品項中添加商品privatevoid addShoppingItem(BookItem bookItem,Book book)bookItem.setBook(book);bookItem.setCount(1);subtotal(bookItem,book); /小計金額/添加購物車public String addShoppingCar( Session session,int id, ServletR

47、equest request)throws NamingException,SQLException String message="商品不存在"Map<Integer,BookItem> shoppingCart=null;BookItem bookItem=null;Book book=null;String sql = "select * from book where id=?"Map map=queryAllThingById(id, sql);if(session!=null)shoppingCart=(Map<Integer,BookItem>)session.getAttribute("shoppingcart");if(shoppingCart!=null&&shoppingCart.size(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論