版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科畢業(yè)論文(設(shè)計(jì))題目:基于jsp網(wǎng)上書店系統(tǒng)院 系:信息科學(xué)與通信工程專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào):20101011002學(xué)生姓名: 指導(dǎo)教師: 二一四年 六月 三日本科生畢業(yè)論文(設(shè)計(jì))的聲明本人鄭重聲明:所呈交的論文,是本人在指導(dǎo)教師指導(dǎo)下,進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含任何他人創(chuàng)作的、已公開(kāi)發(fā)表或沒(méi)有公開(kāi)發(fā)表的作品內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確方式標(biāo)明。本學(xué)位論文原創(chuàng)性聲明的法律責(zé)任由本人承擔(dān)。 作者簽名: 年 月 日 本人聲明:該學(xué)位論文是本人指導(dǎo)學(xué)生完成的研究成果,已經(jīng)審閱過(guò)論文的全部?jī)?nèi)
2、容,并能夠保證題目、關(guān)鍵詞、摘要部分中英文內(nèi)容的一致性和準(zhǔn)確性。 指導(dǎo)教師簽名: 年 月 日目 錄摘要1關(guān)鍵詞1abstract1key words1引言(或緒論)1第1章 jsp應(yīng)用開(kāi)發(fā)體系.y 1.1 jsp簡(jiǎn)介. 1.2 jsp與其他動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)比較. 1.3 javabean技術(shù)介紹. 1.4 servlet概述.第2章 系統(tǒng)開(kāi)發(fā)環(huán)境.2.1 軟件2.1.1 web 應(yīng)用服務(wù)器apache tomcat 7.0 .2.1.2 數(shù)據(jù)庫(kù)sql server 20052.1.3 myeclipse 102.2 jdk安裝與環(huán)境配置.2.3 tomcat服務(wù)器的配置.2.4 數(shù)據(jù)庫(kù)后臺(tái)環(huán)境的配
3、置.第3章 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)思想3.2 系統(tǒng)功能模塊化3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 數(shù)據(jù)庫(kù)需求分析3.3.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)3.3.3 數(shù)據(jù)庫(kù)邏輯機(jī)構(gòu)設(shè)計(jì)第4章 詳細(xì)設(shè)計(jì)4.1前臺(tái)核心模塊介紹4.1.1 框架頁(yè)面4.1.2 頂部頁(yè)面4.1.3 圖書展示頁(yè)面4.1.4 圖書搜索頁(yè)面4.1.5 圖書詳情頁(yè)面4.1.6 購(gòu)物車頁(yè)面4.1.7 收銀臺(tái)頁(yè)面4.1.8 訂單確認(rèn)頁(yè)面4.2 會(huì)員中心界面4.2.1修改個(gè)人信息4.2.2修改口令4.2.3顯示訂單4.3 后臺(tái)核心模塊介紹4.3.1 圖書管理4.3.2 修改圖書4.3.3 圖書類別管理4.3.4 會(huì)員管理4.3.5 訂單管理第5章 總結(jié)基
4、于jsp網(wǎng)上書店系統(tǒng)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生 劉旭指導(dǎo)教師 王懿慧隨著互聯(lián)網(wǎng)的發(fā)展,電子商務(wù)迅速發(fā)展,網(wǎng)上書店正是互聯(lián)網(wǎng)和電子商務(wù)發(fā)展的產(chǎn)物。利用電子商務(wù)的優(yōu)勢(shì),擴(kuò)大消費(fèi)市場(chǎng),為書店的發(fā)展帶來(lái)新的商機(jī)。本網(wǎng)上書店系統(tǒng)是使用jsp動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)開(kāi)發(fā)的小型電子商務(wù)系統(tǒng),能夠滿足中小型書店的網(wǎng)上售書需要。在系統(tǒng)設(shè)計(jì)中采用的開(kāi)發(fā)工具是myeclipse 10,數(shù)據(jù)庫(kù)sql server 2005, web 應(yīng)用服務(wù)器apache tomcat 7.0 和jsp。本系統(tǒng)實(shí)現(xiàn)了網(wǎng)上書店的最基本的功能,具有前臺(tái)用戶操作和后臺(tái)管理兩大模塊,前臺(tái)主要功能包括圖書展示、圖書搜索、用戶登錄、購(gòu)買圖書等。后臺(tái)由管理員使
5、用,主要包括分類管理、圖書管理、會(huì)員管理、訂單管理、修改密碼等。用戶可以在搜也查看自己需要的商品,選好后可以點(diǎn)擊購(gòu)買,生成訂單,完成購(gòu)物。 關(guān)鍵詞:java、servlet、jsp、網(wǎng)上書店、電子商務(wù)jsp-based online bookstorestudent majoring in liuxu tutor wuyihuiabstract:with the development of the internet, the rapid development of e-commerce, online bookstore is the product of the internet and
6、 e-commerce development. take advantage of e-commerce, expanding consumer market, bringing new opportunities for the development of the bookstore. the online bookstore system is a small e-commerce system using jsp dynamic web technology developed to meet the needs of small and medium sized online bo
7、okselling bookstore. development tools used in the system design is myeclipse 10, database sql server 2005, web application server, apache tomcat 7.0 and jsp. the system implements the basic functions of online bookstores, with foreground and background management user operation of two modules, fron
8、t main features include display books, book search, user login, buy books and so on. backstage by the administrator, including category management, library management, membership management, order management, change passwords. users can also view the goods they need in the search, you can click on t
9、he selected purchase order generation, finished shopping. key words: java、servlet、jsp、online bookstore, e-commerce引言 本系統(tǒng)的設(shè)計(jì)目的是為了滿足消費(fèi)者只要通過(guò)互聯(lián)網(wǎng)就可以足不出戶的購(gòu)買自己喜歡的圖書,改變傳統(tǒng)商業(yè)交易,在互聯(lián)網(wǎng)上進(jìn)行交易,實(shí)現(xiàn)網(wǎng)上購(gòu)買圖書。本系統(tǒng)用jsp語(yǔ)言來(lái)編寫網(wǎng)絡(luò)書店系統(tǒng),數(shù)據(jù)庫(kù)用microsoft sqlserver2005來(lái)連接系統(tǒng),采用mvc模式(model-view-controller),通過(guò)jsp表現(xiàn)頁(yè)面,即視圖view,通過(guò)servlet技術(shù)完成
10、事務(wù)處理工作,即控制器controller,javabean則負(fù)責(zé)數(shù)據(jù)處理,即模型model。本系統(tǒng)完成小型網(wǎng)上書店,能夠完成查看,查找,購(gòu)買等功能。本論文課題新穎,主要涉及軟件,數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)分析解決問(wèn)題的能力,增強(qiáng)學(xué)生對(duì)事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。第一章 jsp應(yīng)用開(kāi)發(fā)體系1.1 jsp簡(jiǎn)介jsp:(java server pages)是一種跨平臺(tái)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),在靜態(tài)頁(yè)面中嵌入java代碼片段,再由web服務(wù)器中的jsp引擎來(lái)進(jìn)行
11、編譯并執(zhí)行嵌入的java代碼片段,生成的頁(yè)面信息返回給客戶端。1.2 jsp與其他動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)比較jsp,asp和php三者都提供在html代碼中混合某種程序的代碼,由語(yǔ)言引擎解釋執(zhí)行程序代碼的能力。普通的html頁(yè)面只依賴于web服務(wù)器,而jsp,asp和php需要語(yǔ)言引擎分析和執(zhí)行程序代碼。jsp的優(yōu)勢(shì),程序可以跨平臺(tái)執(zhí)行,具有多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持,具有強(qiáng)大的可伸縮性。1.3 javabean技術(shù)介紹 javabean是一種軟件組件模型,是可以重用并集成到應(yīng)用程序中的java類.在一個(gè)典型的jsp頁(yè)面中,大部分的java代碼和邏輯將不會(huì)內(nèi)嵌到代碼段中,相反它主要通過(guò)調(diào)用javab
12、ean組件來(lái)實(shí)現(xiàn)將商業(yè)邏輯從頁(yè)面內(nèi)容中分割出來(lái),這有利于分工合作.1.4 servlet概述 servlet是服務(wù)器端的java小程序,通常被稱為服務(wù)器小應(yīng)用程序,是運(yùn)行在服務(wù)器端的應(yīng)用小程序. servlet接受來(lái)自客戶端的請(qǐng)求 并把處理的結(jié)果以html的形式返回,在客戶端形成動(dòng)態(tài)網(wǎng)頁(yè). http請(qǐng)求 請(qǐng)求httpservletweb瀏覽器web服務(wù) http響應(yīng)第2章 系統(tǒng)開(kāi)發(fā)環(huán)境2.1 軟件2.1.1 web 應(yīng)用服務(wù)器apache tomcat 7.0tomcat是apache-jakarta項(xiàng)目中一個(gè)重要的子項(xiàng)目,tomcat服務(wù)器是當(dāng)今使用最廣泛的servlet/jsp服務(wù)器,它運(yùn)
13、行穩(wěn)定,可靠,是學(xué)習(xí)jsp技術(shù)和中小型企業(yè)應(yīng)用的最佳選擇.2.1.2數(shù)據(jù)庫(kù)microsoft sql server 2005microsoft sql server 2005是一個(gè)全面的數(shù)據(jù)平臺(tái),它為企業(yè)提供企業(yè)級(jí)數(shù)據(jù)管理與集成的商業(yè)智能工具。sql server 2005數(shù)據(jù)庫(kù)引擎可為關(guān)系型數(shù)據(jù)與xml數(shù)據(jù)提供更安全、可靠的存儲(chǔ),使得用戶可以靈活應(yīng)對(duì)快速增長(zhǎng)的復(fù)雜業(yè)務(wù)應(yīng)用。2.1.3 myeclipse 10myeclipse,是在eclipse基礎(chǔ)上 加上自己的插件, 是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)java, j2ee的 eclipse 插件集合,myeclipse的功能非常強(qiáng)大,支持也十分廣泛
14、,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持十分不錯(cuò)。myeclipse目前支持java servlet,ajax, jsp, jsf, struts,spring, hibernate,ejb3,jdbc數(shù)據(jù)庫(kù)鏈接工具等多項(xiàng)功能。可以說(shuō)myeclipse是幾乎囊括了目前所有主流開(kāi)源產(chǎn)品的專屬eclipse開(kāi)發(fā)工具。2.2 jdk安裝與環(huán)境配置先簡(jiǎn)單的介紹一下它的運(yùn)作過(guò)程。服務(wù)器在接收到客戶端傳過(guò)來(lái)的一個(gè)頁(yè)面請(qǐng)求時(shí),先判斷是否是jsp頁(yè)面請(qǐng)求(從擴(kuò)展名來(lái)判斷),如果不是,只是一般的html頁(yè)面請(qǐng)求,則直接把html文檔傳給客戶端,完成客戶端與服務(wù)器的一次連接。如果判斷是jsp頁(yè)面請(qǐng)求,則由jsp引擎(或ser
15、vlet引擎)將jsp頁(yè)面代碼轉(zhuǎn)換成servlet代碼,再通知服務(wù)器上的jvm(java虛擬機(jī))對(duì)轉(zhuǎn)換過(guò)來(lái)的servlet代碼進(jìn)行編譯,將生成的字節(jié)碼文件放在服務(wù)器上相應(yīng)的地方,并執(zhí)行編譯后得到的字節(jié)碼,然后把結(jié)果傳送給客戶端,這樣就完成一次連接。以后如果有相同的jsp頁(yè)面的請(qǐng)求,則直接由jsp引擎通知jvm執(zhí)行已有的字節(jié)碼,并把結(jié)果傳送給客戶端。 配置環(huán)境變量第一步:.安裝jdk。第二步進(jìn)入我的桌面,右擊“計(jì)算機(jī)”,選擇“高級(jí)系統(tǒng)設(shè)置”選項(xiàng),進(jìn)入“系統(tǒng)屬性“對(duì)話框,單擊“高級(jí)”標(biāo)簽,如圖1-2所示:圖1-2第三步:點(diǎn)擊上圖箭頭所示“環(huán)境變量”,進(jìn)入圖1-3畫面。圖1-3第四步:?jiǎn)螕?“系統(tǒng)變
16、量”部分的 “新建按扭”,創(chuàng)建java-home變量,在變量值欄內(nèi)輸入c:jdk1.4.2_05; 如圖1-4所示:java_home指明jdk安裝路徑,就是剛才安裝時(shí)所選擇的路徑c:jdk1.4.2_05,此路徑下包括lib,bin,jre等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行tomcat,eclipse等都需要依靠此變量)圖1-4第五步:同樣的方法創(chuàng)建classpath 變量,在變量欄內(nèi)輸入,.;%java_home%lib;%java_home%libtools.jar (要加.表示當(dāng)前路徑)classpath為java加載類(class or lib)路徑,只有類在classpath中
17、,java命令才能識(shí)別。第六步:創(chuàng)建path變量,在變量欄內(nèi)輸入,%java_home%bin;%java_home%jrebinpath使得系統(tǒng)可以在任何路徑下識(shí)別java命令。第七步.“開(kāi)始”;“運(yùn)行”,鍵入“cmd”;第八步鍵入命令“java -version”,“java”,“javac”幾個(gè)命令,出現(xiàn)畫面,說(shuō)明環(huán)境變量配置成功;java -versionjava javac至此,jdk完全安裝成功。圖1-62.3 tomcat服務(wù)器的配置 2.3.1 tomcat安裝,tomcat需要jdk的支持,但tomcat本身并不自帶jdk,所以需要jdk的支持。2.3.2 tomcat啟動(dòng)
18、apache software foundationtomcat 7.0bin tomcat7.exe打開(kāi)瀏覽器輸入:http:/localhost:8080 或者:8080 只要能出現(xiàn)tomcat主頁(yè)則tomcat安裝并且啟動(dòng)成功2.3.3修改端口號(hào)比如需要啟動(dòng)2份tomcat,或者是某個(gè)服務(wù)占用了8080端口,就需要修改端口。 修改端口的方法:在文件conf/server.xml中,將port=8080(原端口號(hào))改為你所需要的端口號(hào),比如802.3.4配置虛擬目錄 目前我們的網(wǎng)站站點(diǎn)都是放在默認(rèn)的目錄下%tomcat%/webapps中,但有些情況下,需要把
19、站點(diǎn)放在別的目錄下.,如tomcat所在的磁盤不夠用和為了統(tǒng)一管理,希望放在某個(gè)特定的目錄下,而不是放在默認(rèn)的目錄%tomcat%/webapps下 。設(shè)置虛擬目錄將所有的開(kāi)發(fā)程序保存在虛擬目錄之中(jsp文件,servlet文件)按要求修改tomcat安裝目錄下conf子目錄中的server.xml文件即可。在適當(dāng)?shù)奈恢锰砑尤缦滦畔ⅲㄔ谠厍凹尤耄?虛擬目錄-如果建立一個(gè)虛擬目錄webroot,里頭需要建立的內(nèi)容:webroot |-web-inf文件夾|-web.xml文件(可以把tomcat安裝目錄下webapps子目錄中root下的web.xml拷貝過(guò)來(lái))2.3.5 打開(kāi)列表功能修改
20、tomcat 7.0confweb.xml,2.4 數(shù)據(jù)庫(kù)后臺(tái)環(huán)境的配置sql server是由microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms),它最初是由microsoft、sybase和ashton-tate三家公司共同開(kāi)發(fā)的,并于1988年推出了第一個(gè)os/2版本。 sql server近年來(lái)不斷更新版本,1996年,microsoft 推出了sql server 6.5版本;1998年,sql server 7.0版本和用戶見(jiàn)面;sql server 2000是microsoft公司于2000年推出的最新版本。jsp與sql server數(shù)據(jù)庫(kù)的連接:本系統(tǒng)使用odbc驅(qū)動(dòng)
21、程序建立sql server的數(shù)據(jù)連接。創(chuàng)建步驟如下: (1)選擇任務(wù)欄的“開(kāi)始” “控制面板” “管理工具” 數(shù)據(jù)源(odbc) 單擊系統(tǒng)dsn標(biāo)簽, 單擊“添加”選擇sql server的odbc數(shù)據(jù)源,如圖1-7所示: 圖1-7(1) 定義odbc數(shù)據(jù)源的名字和sql server所在的服務(wù)器,如圖1-8所示:圖1-8(2) 定義連接數(shù)據(jù)庫(kù)的方式,使用用戶輸入登錄id和密碼的sql server驗(yàn)證連接數(shù)據(jù)庫(kù)。(3) 選擇要連接的數(shù)據(jù)庫(kù),如圖1-9所示:其于各項(xiàng)保留默認(rèn)值,最后單擊“完成”進(jìn)入數(shù)據(jù)源的測(cè)試窗口,測(cè)試成功后顯示如圖1-10,這樣就完成了本系統(tǒng)數(shù)據(jù)庫(kù)的odbc數(shù)據(jù)源的創(chuàng)建。圖
22、第三章 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)思想本系統(tǒng)采用三層架構(gòu)設(shè)計(jì),它的工作原理如下圖所示。數(shù)據(jù)庫(kù)web 瀏覽器servletjavabeanjsp采用mvc模式(model-view-controller),通過(guò)jsp表現(xiàn)頁(yè)面,即視圖view,通過(guò)servlet技術(shù)完成事務(wù)處理工作,即控制器controller,javabean則負(fù)責(zé)數(shù)據(jù)處理,即模型model。3.2 系統(tǒng)功能模塊化如下圖為本系統(tǒng)的功能模塊圖。圖書管理訂單管理用戶管理類別管理收銀臺(tái)界面購(gòu)物車界面圖書詳情網(wǎng)上書城前臺(tái)購(gòu)物會(huì)員中心后臺(tái)管理圖書展示圖書搜索訂單確認(rèn)我的信息取回口令注銷界面注冊(cè)界面登陸界面我的訂單修改口令修改信息管理員登陸3
23、.3購(gòu)物流程瀏覽商品把商品放入購(gòu)物車是否登錄用戶登錄是收銀臺(tái)下單匯款管理員發(fā)貨并修改訂單狀態(tài)3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。3.4.1 數(shù)據(jù)庫(kù)需求分析針對(duì)一般在線書店的需求,得出如下需求信息。 用戶分為游客和已注冊(cè)用戶。 一個(gè)用戶可以購(gòu)買多本圖書。針對(duì)本系統(tǒng)功能分析,總結(jié)出如下的需求信息。 用戶,包括數(shù)據(jù)項(xiàng):用戶名、密碼,真實(shí)姓名,性別,地址,郵編,電話,電子郵箱。 圖書表,包括數(shù)據(jù)項(xiàng):圖書編號(hào)、圖書isbn,圖書名、封面圖片,價(jià)
24、格、圖書介紹,價(jià)格,描述。 訂單明細(xì)表,包括數(shù)據(jù)項(xiàng):訂單明細(xì)id、訂單號(hào),圖書編號(hào)、購(gòu)書數(shù)量,單價(jià)。 圖書類別表,包括數(shù)據(jù)項(xiàng):類別編號(hào),類別名。 訂單,包括數(shù)據(jù)項(xiàng):訂單號(hào),注冊(cè)名,總價(jià),付款標(biāo)致,發(fā)貨標(biāo)志,下單日期,真實(shí)姓名,地址,郵編,電話,附言。 管理員,包括數(shù)據(jù)項(xiàng):管理員賬號(hào),口令。3.4.2 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)從本系統(tǒng)中規(guī)劃出的實(shí)體有:用戶實(shí)體、圖書實(shí)體、圖書類別尸體,訂單明細(xì)實(shí)體、管理員實(shí)體。用戶實(shí)體、圖書實(shí)體、圖書類別尸體,訂單明細(xì)實(shí)體、管理員實(shí)體。的e-r圖如下圖所示。圖書圖書isbn書名類別作者作者價(jià)格描述圖片用戶真實(shí)姓名口令地址郵編電話電郵注冊(cè)名性別訂單表訂單號(hào)注冊(cè)名附言電話郵編
25、付款總價(jià)下單日期圖書類別類別名類別遍號(hào)真實(shí)姓名發(fā)貨標(biāo)志地址管理員管理員名口令3.4.3 數(shù)據(jù)庫(kù)邏輯機(jī)構(gòu)設(shè)計(jì)在線書店數(shù)據(jù)庫(kù)中各個(gè)表的設(shè)計(jì)結(jié)果如下面的標(biāo)和所示。表3-8為圖書信息列表。表3-8表3-9為用戶信息列表。表3-9表3-10為訂單總表,記錄某個(gè)用戶的訂單信息。表3-10表3-11為訂單表,記錄但張訂單的具體信息。表3-11表3-12為管理員表,記錄但張訂單的具體信息第4章 詳細(xì)介紹4.1 購(gòu)物車類 購(gòu)物車是網(wǎng)上書店的重要部分,用于暫時(shí)存放顧客選擇和購(gòu)買的商品,購(gòu)物車由兩個(gè)類,shoppingitem和shoppingcart。4.1.1 shoppingitem類存放一種圖書信息,包括當(dāng)
26、前選購(gòu)圖書的數(shù)量.package bookshop;public class shoppingcartitem public string bookid = null; public string isbn = null; public string bookname = null; public float price = 0.0f; public string description = null; public string bookimage=null; public string author=null; public string categoryid=null; public i
27、nt quantity;4.1.2 shoppingcart類是購(gòu)物車類,模仿實(shí)際購(gòu)物中的行為,提供向購(gòu)物車加入,移去圖書,修改圖書數(shù)量.package bookshop;import java.util.*;import java.sql.*;import java.text.*;public class shoppingcart hashmap items = null;public shoppingcart() items = new hashmap();/向購(gòu)物車中加入一本書public synchronized void add(string bookid) throws excep
28、tion if (items.containskey(bookid) shoppingcartitem item = (shoppingcartitem) items.get(bookid);item.quantity+; else string sql = select * from book where bookid= + bookid+ ;dbhandle dbhandle = new dbhandle();resultset rs = dbhandle.executequery(sql);shoppingcartitem newitem = new shoppingcartitem()
29、;if (rs.next() newitem.bookid=bookid;newitem.isbn = rs.getstring(isbn);newitem.bookname = rs.getstring(bookname);newitem.bookimage = rs.getstring(bookimage);newitem.categoryid = rs.getstring(categoryid);newitem.author = rs.getstring(author);newitem.price = rs.getfloat(price);newitem.description = rs
30、.getstring(description);newitem.quantity=1;dbhandle.closeresource();items.put(bookid, newitem);/修改購(gòu)物車中書的數(shù)量public synchronized void setitem(string bookid, int num) if (items.containskey(bookid) shoppingcartitem item = (shoppingcartitem) items.get(bookid);item.quantity=num;/移去圖書public synchronized voi
31、d remove(string bookid) items.remove(bookid);/返回圖書枚舉public synchronized iterator getitems() collection c = items.values();return c.iterator();protected void finalize() throws throwable items.clear();/返回圖書種類數(shù)public synchronized int getnumberofitems() return items.size();/計(jì)算圖書總價(jià)格public synchronized do
32、uble gettotal() double amount = 0.0;for (iterator i = getitems(); i.hasnext();) shoppingcartitem item = (shoppingcartitem) i.next();amount += item.quantity *item.price;return roundoff(amount);private double roundoff(double x) long val = math.round(x * 100); / centsreturn val / 100;/清空購(gòu)物車public synch
33、ronized void clear() items.clear();/下訂單public int payorder(string username, string truename, string postcode,string address, string telephone, string memo) throws exception connection conn = null;int orderid = 0;dbhandle dbhandle = new dbhandle();try conn = dbhandle.getconnection();conn.setautocommi
34、t(false);statement stmt = conn.createstatement();double total = gettotal();simpledateformat dataformat = new simpledateformat(yyyy-mm-dd hh:mm:ss);string orderdate = dataformat.format(new java.util.date();string sql = insert into orders(username,truename,address,postcode,tel,memo,totalprice,ispay, i
35、sdeliver,orderdate) values(+ username+ ,+ truename+ ,+ address+ ,+ postcode+ ,+ telephone+ ,+ memo+ ,+ total + ,0,0, + orderdate + ) ;system.out.println(sql);stmt.executeupdate(sql);sql = select max(orderid) as maxorderid from orders ;system.out.println(sql);resultset rs = stmt.executequery(sql);rs.
36、next();orderid = rs.getint(1);iterator i = getitems();while (i.hasnext() shoppingcartitem item = (shoppingcartitem) i.next();int quantity = item.quantity;string id = item.bookid;double price = item.price;sql = insert into orderdetail(orderid,bookid,quantity,price) values(+ orderid+ ,+ id+ ,+ quantit
37、y+ ,+ price+ );stmt.executeupdate(sql);mit();conn.setautocommit(true); catch (exception ex) conn.rollback();system.out.println(ex.getmessage();throw ex; finally dbhandle.closeresource();return orderid;4.2前臺(tái)核心模塊介紹4.2.1框架頁(yè)面前臺(tái)系統(tǒng)采用上下型框架,上面frame中顯示top.jsp,下面frame顯示其他頁(yè)面。框架頁(yè)面代碼default.jsp齊魯師范學(xué)院網(wǎng)上書店 4.2.2頂部
38、頁(yè)面頂部頁(yè)面主要起導(dǎo)航作用,可以鏈接到其他頁(yè)面。頂部頁(yè)面主要top.jsp        齊師網(wǎng)上書店 %if (session.getattribute(user)=null)out.print(您尚未登錄);elseout.print(session.getattribute(user).tostring()+ 注銷); % 首頁(yè) 圖書查詢 購(gòu)物車待添加的隱藏文字內(nèi)容1 會(huì)員中心 4.2.3圖書展示頁(yè)面 圖書展示頁(yè)面用戶可以瀏覽圖書基本信息,可以查看圖書詳細(xì)信息,可以購(gòu)買圖書。圖書展
39、示頁(yè)面代碼 main.jsp %string sql=select * from category ;resultset rs=connbean.executequery(sql);string category=;while(rs.next()int id=integer.parseint(rs.getstring(categoryid);string categoryname=rs.getstring(categoryname);category= category+ + categoryname + +|; category=category.substring(1,category.l
40、ength()-1);out.print(category);connbean.closeresource();% % string str=request.getparameter(page);int nowpage=str=null?1:integer.parseint(str);bookshop.wpage mypage=new bookshop.wpage();string categoryid=request.getparameter(categoryid);sql=;string url=main.jsp;if(categoryid=null|categoryid.equals() sql=select * from book; categoryid=;else sql=select * from book where categoryid=+categoryid; url=main.jsp?categoryid=+categoryid+&; rs=
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電梯門套材料供應(yīng)與安裝工程合同4篇
- 2025年度女方離婚后房產(chǎn)過(guò)戶及稅費(fèi)承擔(dān)協(xié)議4篇
- 2025年度電商直播帶貨平臺(tái)合作協(xié)議4篇
- 二零二五年度模特時(shí)尚品牌合作開(kāi)發(fā)合同3篇
- 二零二五年度櫥柜行業(yè)知識(shí)產(chǎn)權(quán)保護(hù)合同16篇
- 專賣店勞動(dòng)合同(2024版)
- 2025年度面包磚行業(yè)環(huán)保標(biāo)準(zhǔn)執(zhí)行合同范本3篇
- 2025年中國(guó)特色餐飲產(chǎn)業(yè)園區(qū)市場(chǎng)競(jìng)爭(zhēng)格局及投資戰(zhàn)略規(guī)劃報(bào)告
- 2020-2025年中國(guó)納米機(jī)器人行業(yè)市場(chǎng)調(diào)查研究及投資戰(zhàn)略咨詢報(bào)告
- 木器門窗項(xiàng)目可行性研究報(bào)告方案可用于立項(xiàng)及銀行貸款+2025詳細(xì)
- 選煤廠安全知識(shí)培訓(xùn)課件
- 項(xiàng)目前期選址分析報(bào)告
- 急性肺栓塞搶救流程
- 《統(tǒng)計(jì)學(xué)-基于Python》 課件全套 第1-11章 數(shù)據(jù)與Python語(yǔ)言-時(shí)間序列分析和預(yù)測(cè)
- 《形象價(jià)值百萬(wàn)》課件
- 紅色文化教育國(guó)內(nèi)外研究現(xiàn)狀范文十
- 中醫(yī)基礎(chǔ)理論-肝
- 小學(xué)外來(lái)人員出入校門登記表
- 《土地利用規(guī)劃學(xué)》完整課件
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評(píng)價(jià)規(guī)范
- 《汽車衡全自動(dòng)智能稱重系統(tǒng)》設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論