基于JSP的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用_第1頁
基于JSP的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用_第2頁
基于JSP的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用_第3頁
基于JSP的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用_第4頁
基于JSP的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、吉林大學(xué)珠海學(xué)院畢業(yè)論文(設(shè)計(jì))基于jsp的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用the online bookstore system based on jsp完成日期 2013 年3月20日吉林大學(xué)珠海學(xué)院本科畢業(yè)論文(設(shè)計(jì))開題報(bào)告基于jsp的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與應(yīng)用摘要目前,隨著internet的迅速發(fā)展,網(wǎng)絡(luò)書店也正在蓬勃發(fā)展,國內(nèi)的當(dāng)當(dāng),國外的亞馬遜,都是網(wǎng)絡(luò)書店領(lǐng)域的巨頭。還有很多出版社,圖書企業(yè)也正在建立自己的網(wǎng)絡(luò)書店,一些專注網(wǎng)絡(luò)購物的大型電商也瞄準(zhǔn)進(jìn)入這個(gè)市場(chǎng),如東京商城,淘寶等,發(fā)展速度也非???,可見其市場(chǎng)前景非常廣闊。這個(gè)網(wǎng)上書店設(shè)計(jì)主要采用的特色技術(shù)有javabean、c

2、ss、javascript。css用來控制和設(shè)計(jì)頁面,包括字體的大小和顏色,javascript用來做提示框,增加互動(dòng)性。頁面也非常簡潔美觀。本次設(shè)計(jì)根據(jù)目前流行網(wǎng)絡(luò)書店形式,以友好的用戶界面,方便快捷的操作,根據(jù)人們青睞的購書形式,模擬設(shè)計(jì)一個(gè)流行的網(wǎng)絡(luò)書店系統(tǒng),給人們帶來更好的網(wǎng)絡(luò)購書生活享受。關(guān)鍵詞:網(wǎng)絡(luò)書店;電子商務(wù);mysql;jsp技術(shù)theonline bookstore system based on jspabstractat present,with the rapid development of internet, theonline bookstore also is

3、 developing rapidly. the dangdang of china and foreign amazon are both the industrys giants of theonline bookstore. many publishers andenterprises of book are building a online bookstore their own. some large e-commerce enterprises focus on onlineshopping aim at the market and enter it. for example,

4、 the jingdong mall and taobao, they are developing at a rapid pace. we can see the market prospects ofonline bookstore were very broad.this design for the online bookstore mainly adopts characteristic technology includes java-bean, css and javascript. css is for control and design the page, includes

5、 font size and color.javascript is for the prompt box, making it more interactive. the page is also very concise and artistic.the design based on popular development mode of online bookstore, with a friendly user interface(ui), convenient operation and buy books style the people like, using analog d

6、esign method to make an online bookstore, it brings the better life of online buy books to people.key words: online bookstore;e-commerce;mysql; jsp technology目錄1 緒論91.1 研究背景91.2 數(shù)據(jù)庫簡介91.3 開發(fā)環(huán)境簡介91.4 myeclipse概述101.5 jsp概述101.6 mysql概述102 需求分析112.1 系統(tǒng)需求112.2 需求分析112.3 系統(tǒng)功能分析圖123 總體設(shè)計(jì)133.1 總體功能設(shè)計(jì)133.1

7、.1 系統(tǒng)設(shè)計(jì)目標(biāo)133.2 數(shù)據(jù)流程圖133.2 數(shù)據(jù)庫設(shè)計(jì)143.2.1 數(shù)據(jù)庫分析143.2.2 系統(tǒng)er圖143.3 數(shù)據(jù)字典153.3.1 圖書信息表153.3.2 用戶信息表163.3.3 管理員信息表163.3.4 訂單信息表173.3.5 訂單詳細(xì)表174 設(shè)計(jì)思想與實(shí)現(xiàn)184.1 用戶登錄模塊184.2 用戶注冊(cè)模塊194.3 書店主頁模塊214.4 搜索模塊224.5 用戶資料修改模塊244.6 后臺(tái)管理模塊254.7 用戶管理模塊284.8 訂單管理模塊294.9 管理員退出模塊304.10購物車模塊304.11 訂單查詢模塊344.12 系統(tǒng)部署環(huán)境375 結(jié)束語38參

8、考文獻(xiàn)39致謝401 緒論1.1 研究背景現(xiàn)在,隨著internet發(fā)展不斷快速,電子商務(wù)成為人們所喜愛的商業(yè)模式,電子商務(wù)技術(shù)的不斷發(fā)展也讓其功能越來越豐富和強(qiáng)大,人們可以直接在網(wǎng)上搜索想要購買的商品就可以足不出戶,隨時(shí)享受購物帶來的的樂趣。依附著計(jì)算機(jī)網(wǎng)絡(luò)迅猛的發(fā)展,電子的發(fā)展也越來越快,進(jìn)入到各個(gè)領(lǐng)域。很多大企業(yè)也開始建立各種網(wǎng)絡(luò)銷售渠道,直接對(duì)消費(fèi)者開展便捷服務(wù)和銷售業(yè)務(wù),全美國圖書協(xié)會(huì)的統(tǒng)計(jì)顯示,目前已有50%的經(jīng)銷商都建立自己的網(wǎng)絡(luò)電子商務(wù),銷售規(guī)模也越來越大。網(wǎng)上書店在這網(wǎng)絡(luò)技術(shù)不斷發(fā)展中出現(xiàn)的一種圖書銷售模式,其方便、快捷等眾多優(yōu)點(diǎn)不斷沖擊著傳統(tǒng)的書店行業(yè),網(wǎng)上書店的興起,帶來

9、了很多機(jī)遇,也帶來了很多挑戰(zhàn)。網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店以全新的銷售模式,24小時(shí)服務(wù),這是傳統(tǒng)書店所不能比及的,由于不需要店面也不需要大量店員,成本低是網(wǎng)上書店的優(yōu)勢(shì),而且由于成本低,圖書的價(jià)格也降了下來,消費(fèi)者足不出戶就能買到想要的而便宜的書籍,節(jié)省了消費(fèi)者的時(shí)間。傳統(tǒng)書店因?yàn)槠髽I(yè)成本高,規(guī)模比較小,品種往往不能齊全,有目的性的購書需要花費(fèi)不少時(shí)間,為了順應(yīng)市場(chǎng)需要,網(wǎng)上書店出現(xiàn)了。它的出現(xiàn)改變了消費(fèi)者的購書生活消費(fèi)體驗(yàn)。1.2 數(shù)據(jù)庫簡介數(shù)據(jù)庫根據(jù)數(shù)據(jù)的結(jié)構(gòu)進(jìn)行組織,管理和存儲(chǔ)的倉庫,在距離現(xiàn)在五十年前產(chǎn)生,隨著科學(xué)技術(shù)水平信息的日益發(fā)展,如今的數(shù)據(jù)庫不再只是存儲(chǔ)和管理數(shù)據(jù),

10、其各種數(shù)據(jù)管理技術(shù)也被用戶大量應(yīng)用。發(fā)展到現(xiàn)在,有很多不同種類型的數(shù)據(jù)庫,從各種最簡單的數(shù)據(jù)存儲(chǔ)應(yīng)用發(fā)展到到能夠存儲(chǔ)海量數(shù)據(jù)的大型數(shù)據(jù)庫應(yīng)用系統(tǒng)都在各個(gè)領(lǐng)域各個(gè)方面有廣泛的應(yīng)用。1.3 開發(fā)環(huán)境簡介本網(wǎng)上書店系統(tǒng)是用基于myeclipse下的jsp動(dòng)態(tài)網(wǎng)頁技術(shù)結(jié)合mysql數(shù)據(jù)庫進(jìn)行開發(fā)。myeclipse是一個(gè)非常優(yōu)秀的java開發(fā)工具,集合了各種各樣的插件,功能強(qiáng)大。jsp全稱java server pages,是一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。mysql是一個(gè)方便快捷的數(shù)據(jù)庫管理系統(tǒng),它是一種輕型,快速,體積小,成本低,源碼開放的特點(diǎn)成為很多個(gè)人用戶,中小企業(yè)開發(fā)作為數(shù)據(jù)庫的首選。1.4

11、 myeclipse概述全稱myeclipse enterprise workbench ,簡稱myeclipse,是一個(gè)集合了各種插件,十分優(yōu)秀的用于開發(fā)java, j2ee的工具,功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開源產(chǎn)品的支持十分不錯(cuò)。myeclipse目前對(duì)html,struts,jsp,css,javascript,spring,sql,hibernate,數(shù)據(jù)庫鏈接工具等多項(xiàng)功能都能完美支持完整支持。可以說myeclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。1.5 jsp概述jsp全名為java server page,由sun microsyst

12、ems公司引領(lǐng)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)6。在傳統(tǒng)的網(wǎng)頁html文件中加入java程序片段(scriptlet)和jsp標(biāo)簽。其相當(dāng)一個(gè)簡化的servlet,他實(shí)現(xiàn)了html語法中的java擴(kuò)張。jsp與servlet一樣,是在服務(wù)器端執(zhí)行的,一般給客戶端返回一個(gè)html文本,結(jié)合tomcat自建服務(wù)器,客戶端要瀏覽只需有瀏覽器就行。web服務(wù)器在遇到訪問jsp網(wǎng)頁的請(qǐng)求時(shí),從執(zhí)行的程序中返回結(jié)果,并回復(fù)響應(yīng)到客戶端,把結(jié)果輸出到相應(yīng)的網(wǎng)頁頁面中。插入的java程序段就可以很方便操作數(shù)據(jù)庫和對(duì)網(wǎng)頁的重定向等,根據(jù)確切需要建立動(dòng)態(tài)網(wǎng)頁的全部功能。1.6 mysql概述mysql是由

13、瑞典mysql ab公司開發(fā),目前屬于oracle公司。mysql是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),其提高速度和靈活性的關(guān)鍵在于mysql將各種數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)表里而不一起存放在一個(gè)大倉庫中。數(shù)據(jù)庫的訪問所使用的最常見而又標(biāo)準(zhǔn)化的語言是mysql的sql語言。mysql軟件采用了雙授權(quán)政策,它分為社區(qū)版和商業(yè)版,而且由于其體積小、速度快、總體成本不高,尤其是開放源碼這一特點(diǎn),一般中小型企業(yè)網(wǎng)站的開發(fā)數(shù)據(jù)庫時(shí)都選擇mysql作為首選網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能非常好,各種各樣的變成開發(fā)工具都可組成良好的開發(fā)環(huán)境。2 需求分析2.1 系統(tǒng)需求市面上主要的網(wǎng)上書店有當(dāng)當(dāng)網(wǎng),卓越亞馬遜等,通過對(duì)這些大型書店的

14、分析和研究,以及應(yīng)對(duì)人們的網(wǎng)上購書心理需求而開發(fā)。目前人們所喜愛的網(wǎng)上書店,要有優(yōu)秀的網(wǎng)頁美術(shù)設(shè)計(jì),方便快捷的功能,人性化的搜索功能,品種齊全貨源充足等。還有穩(wěn)定性,流暢性,應(yīng)對(duì)此需求,開發(fā)一個(gè)功能比較齊全,頁面比較美觀的網(wǎng)上書店系統(tǒng)。2.2 需求分析根據(jù)系統(tǒng)分析,網(wǎng)上書店系統(tǒng)的需求如下:1.系統(tǒng)需求分析:對(duì)用戶:(1)美觀的網(wǎng)頁設(shè)計(jì),安全穩(wěn)定的系統(tǒng);(2)能對(duì)圖書進(jìn)行搜索功能,查看圖書的詳細(xì)信息;(3)購物車結(jié)賬功能;(4)個(gè)人信息和密碼修改;對(duì)后臺(tái)管理:(1)查看用戶信息;(2)對(duì)圖書進(jìn)行添加刪除等操作;(3)訂單的查看和執(zhí)行;2.系統(tǒng)性能要求:(1)安全、流暢、可靠;2.3 系統(tǒng)功能分析

15、圖下圖是此網(wǎng)上書店系統(tǒng)功能結(jié)構(gòu)圖。網(wǎng)上書店系統(tǒng)前臺(tái)用戶后臺(tái)管理網(wǎng)站首頁會(huì)員管理圖書管理熱門書籍展示圖書搜索圖書查看圖書購買會(huì)員注冊(cè)會(huì)員登錄會(huì)員信息修改會(huì)員密碼修改訂單查詢購物車添加購買書籍退回書籍結(jié)賬生成訂單圖書信息查看圖書信息修改圖書信息刪除用戶管理用戶信息查看訂單管理訂單查看訂單執(zhí)行圖2-1 系統(tǒng)結(jié)構(gòu)功能分析圖3 總體設(shè)計(jì)3.1 總體功能設(shè)計(jì)3.1.1 系統(tǒng)設(shè)計(jì)目標(biāo)本系統(tǒng)設(shè)計(jì)是以javabean和jsp頁面組合完成,系統(tǒng)總體設(shè)計(jì)是為了達(dá)到下面的目標(biāo):美觀的網(wǎng)頁頁面設(shè)計(jì),網(wǎng)上書店基本的功能實(shí)現(xiàn),穩(wěn)定方便的系統(tǒng)設(shè)計(jì),讓消費(fèi)者體驗(yàn)更好的網(wǎng)上購書體驗(yàn)。3.2 數(shù)據(jù)流程圖以下為數(shù)據(jù)流程圖:用戶網(wǎng)站首

16、頁搜索圖書查看圖書是否登錄購買圖書銀行結(jié)賬訂單生產(chǎn)完成購買退回圖書繼續(xù)購書否是修改購買數(shù)量圖3-1 系統(tǒng)功能流程圖3.2 數(shù)據(jù)庫設(shè)計(jì)3.2.1 數(shù)據(jù)庫分析通過對(duì)網(wǎng)上書店系統(tǒng)的分析,有兩類實(shí)體:圖書,訂單和用戶(普通用戶,后臺(tái)管理員)。數(shù)據(jù)項(xiàng)有b_bookfifo;b_manager;b_member;b_order;b_order_detail。3.2.2 系統(tǒng)er圖通過對(duì)系統(tǒng)實(shí)體數(shù)據(jù)分析,可以畫出下面的er圖:書名isbn號(hào)圖書信息表類型出版社作者介紹價(jià)格出版日期封面文件管理員信息表id賬號(hào)密碼圖3-2 圖書信息表圖3-3 管理員信息表郵箱id用戶信息表電話身份證郵編地址密碼真實(shí)姓名用戶名圖

17、3-4 用戶信息表orderid訂單信息表訂單日期郵箱電話郵編地址真實(shí)姓名用戶名圖3-5 訂單信息表orderid訂單詳細(xì)表數(shù)量價(jià)格出版社書名isbn號(hào)id圖3-6 訂單詳細(xì)表3.3 數(shù)據(jù)字典3.3.1 圖書信息表描述:對(duì)圖書基本信息的詳細(xì)記錄,圖書信息表b_bookinfo的屬性項(xiàng)包括: isbn、 bookname、type、publisher、writer、introduce、price、pdate、cover等2。圖3-7 圖書信息表3.3.2 用戶信息表描述:對(duì)用戶基本信息的詳細(xì)記錄,用戶信息表b_member的屬性項(xiàng)包括: id、 username、truename、passwor

18、d、address、postcode、idnumber、tel、email。圖3-8 用戶信息表3.3.3 管理員信息表描述:對(duì)管理員基本信息的詳細(xì)記錄,管理員信息表b_manager的屬性項(xiàng)包括: id、 manager、pwd。圖3-9 管理員信息表3.3.4 訂單信息表描述:對(duì)訂單信息的詳細(xì)記錄,訂單信息表b_order的屬性項(xiàng)包括: orderid、 username、truename、address、postcode、tel、email、orderdate、enforce。圖3-10 訂單信息表3.3.5 訂單詳細(xì)表描述:對(duì)訂單詳細(xì)信息的詳細(xì)記錄,訂單詳細(xì)表b_order_detai

19、l的屬性項(xiàng)包括: id、 orderid、isbn、bookname、publisher、price、number。圖3-11 訂單詳細(xì)表4 設(shè)計(jì)思想與實(shí)現(xiàn)4.1 用戶登錄模塊登錄界面如圖4-1:圖4-1 登陸界面登錄模塊是對(duì)用戶的身份進(jìn)行驗(yàn)證,但是本系統(tǒng)不用登錄也能進(jìn)行圖書搜索和基本的圖書信息查看,人性化的功能方便了暫時(shí)不打算注冊(cè)的游客進(jìn)行瀏覽,節(jié)省注冊(cè)時(shí)間。用戶想進(jìn)行購買需要登錄,輸入用戶名和密碼后點(diǎn)擊登錄,用action方法1,把輸入的值傳遞到指定的jsp頁面,之后進(jìn)行數(shù)據(jù)庫的查詢用next()判斷下一個(gè)元素判斷進(jìn)行對(duì)數(shù)據(jù)表了里的是否存在的username進(jìn)行判斷,之后在判斷密碼是否正確

20、,用戶名和密碼都正確后登錄成功跳轉(zhuǎn)。關(guān)鍵代碼如下:<form name="form" method="post" action="loginu.jsp"><td height="12" align="center">用戶名 <input name="username"type="text" class="txt_grey" id="username" size="20"

21、;><td height="12" align="center">密碼 <inputname="pwd" type="password" class="txt_grey" id="pwd" size="20"<td height="12" align="center"><input name="submit2"type="button"

22、 class="txt_grey" value="登錄" onclick="checku(form1)">resultset rs = conndb.executequery("select * from b_member where username='"+ username + "'");if (rs.next() /數(shù)據(jù)庫檢索檢查判斷下一個(gè)元素是否存在string passw = request.getparameter("passw ");if

23、(passw.equals(rs.getstring("password") session.setattribute("username", username); /保存用戶名數(shù)據(jù)4.2 用戶注冊(cè)模塊登錄界面如圖4-2:圖4-2 注冊(cè)模塊頁面注冊(cè)模塊提供用戶進(jìn)行注冊(cè),通過輸入各種需要輸入的信息,其中有星號(hào)是的必須輸入的,否則會(huì)有提示而無法注冊(cè)。此功能是利用javascript3文件實(shí)現(xiàn),當(dāng)輸入的值為空時(shí),返回一個(gè)提示框。這個(gè)注冊(cè)模塊還有一個(gè)檢查用戶名是否被注冊(cè)的功能,用javascript語句來實(shí)現(xiàn),當(dāng)輸入的用戶名不為空時(shí),把輸入的值傳遞到制定的頁面,

24、通過數(shù)據(jù)庫查詢判斷,此用戶名username是否存在在b_member表里,如果不存在提示可以注冊(cè),反之提示已存在。注冊(cè)成功后,輸入的信息存入b_member表里,就可以用此用戶名登陸。關(guān)鍵代碼如下:function openwin(id) /提示框,如果有沒有輸入或者數(shù)據(jù)庫里存在此用戶名,彈出提示框if (id = "") alert("請(qǐng)輸入用戶名!");myform.username.focus(); /光標(biāo)焦點(diǎn)設(shè)置在頁面元素中return;var str = "checkusername.jsp?username="+ id;

25、 /轉(zhuǎn)移到相應(yīng)頁面處理window.showmodaldialo(str,"", "dialogwidth=200px;dialogheight=120px;status=no;help=no;scrollbars=no");</script><td width="30%" height="25" align="center">用戶名:</td ><td width="79%"class="word_grey"&g

26、t;<inputname="username" type="text" id="username5"maxlength="30"> <a href="#"onclick="openwin(myform.username.value)">檢測(cè)用戶名</a>string username=chstr.chstr(request.getparameter("username"); /字符串處理resultset rs

27、=conndb.executequery("select * from b_member where username='"+username+"'"); /數(shù)據(jù)庫查詢語句if(rs.next()<td height="45" align="center"><%out.println("很報(bào)歉 "+username+"用戶名已經(jīng)被注冊(cè)");</td><%else<td height="56"

28、; align="center"><%out.println(" "+username+"此用戶名沒有被注冊(cè)");%>4.3 書店主頁模塊主頁界面如圖4-3:圖4-3 主頁頁面首頁提供熱門圖書預(yù)覽,沒登陸的用戶可以查看信息,但購買圖標(biāo)需要登錄后才出現(xiàn),此功能使用session獲取已登錄的username4??梢詫?duì)圖書進(jìn)行搜索,也可以查看書店的全部書籍。圖書的熱門推薦是通過對(duì)表b_bookinfo進(jìn)行檢索,用recordcount獲取表中屬性commend值為1的推薦的書的數(shù)據(jù)記錄條數(shù),然后把表中的數(shù)據(jù)依次輸出。這里我

29、用了分欄方法 (i%2!=0)偶數(shù)項(xiàng)放上排,奇數(shù)放下排,從而提高了頁面的觀賞美觀性。關(guān)鍵代碼如下:resultset rs_book = conndb.executequery("select * from b_bookinfo where commend=1");/數(shù)據(jù)庫查詢語句int recordcount = rs_book.getrow(); /獲取記錄總數(shù)if (i % 2) != 0) else;/分欄if (session.getattribute("username") != null) /判斷用戶名是否獲取為為空,就可以判斷是否登錄%&

30、gt; <inputname="submit5" type="submit" class="btn_grey"value="購買"onclick="window.location.href='cart_add.jsp?isbn=<%=isbn%>'"><%> <input name="submit62" type="submit"class="btn_grey" val

31、ue="查看"onclick="window.location.href='book_detail.jsp?isbn=<%=isbn%>'">4.4 搜索模塊搜索結(jié)果如圖4-4:圖4-4 搜索結(jié)果搜索模塊是按鈕的action方法轉(zhuǎn)移到處理頁面,通過輸入的關(guān)鍵字對(duì)數(shù)據(jù)庫使用查找語句對(duì)bookname進(jìn)行查找,把匹配的數(shù)據(jù)從數(shù)據(jù)庫取出,用輸出在搜索結(jié)果頁面上。關(guān)鍵代碼如下:if (request.getparameter("bookkey") != null) sql = "select * f

32、rom b_bookinfo where bookname like '%" + key+ "%'" /判斷輸入獲取的關(guān)鍵字否為空,從而進(jìn)行關(guān)鍵字查詢 else if (request.getparameter("key") = null) key = "空"sql = "select * from b_bookinfo" else key = chstr.chstr(request.getparameter("key");sql = "select * fr

33、om b_bookinfo where bookname like '%"+ key + "%'"resultset rs_search = conndb.executequery(sql); /來創(chuàng)建存放從數(shù)據(jù)庫里得到的結(jié)果的對(duì)象4.5 用戶資料修改模塊資料修改界面如圖4-5:圖4-5 用戶資料修改頁面用戶資料修改提供對(duì)圖中的信息進(jìn)行更新,也可以修改用戶的密碼。功能的實(shí)現(xiàn)是數(shù)據(jù)庫通過session方法獲取已登錄的username進(jìn)行查詢,獲取出本用戶的資料并輸出到文本框中,用戶可以對(duì)資料進(jìn)行修改,輸入內(nèi)容的檢測(cè)同過javascript文件進(jìn)行檢查

34、,打星號(hào)的文本框沒輸入會(huì)彈出提示,無法保存。當(dāng)規(guī)范輸入,確認(rèn)保存后通過action進(jìn)行跳轉(zhuǎn),執(zhí)行數(shù)據(jù)庫更新語句update進(jìn)行數(shù)據(jù)表b_member的更新,注冊(cè)成功后返回首頁。關(guān)鍵代碼如下:<form action="usermodify_deal.jsp" method="post"name="myform"><td height="60"><td class="word_grey"><input name="button" typ

35、e="button" class="btn_grey" value="確定保存"string username = request.getparameter("username");if (username != null && username.length() > 0) /獲取傳遞過來的值,長度要不為空和大于0int ret = 0; /定義條數(shù)變量string sql = "update b_member set truename='" + truename+

36、 "',password='" + pwd + "',idnumber='" + idnumber+ "',tel='" + tel + "',address='" + address+ "',postcode='" + postcode + "',email='" + email+ "' where username='" + username

37、 + "'"ret = conndb.executeupdate(sql); /查詢數(shù)據(jù)庫的條數(shù)response.sendredirect("index.jsp"); /返回首頁用戶退出模塊用戶退出模塊是通過跳轉(zhuǎn)的按鈕,跳轉(zhuǎn)進(jìn)到退出處理頁面,通過session.invalidate()方法清除定義的session,最后直接返回首頁4。關(guān)鍵代碼如下:session.invalidate(); /方法清除定義的sessionresponse.sendredirect("index.jsp");/網(wǎng)頁重定向,直接返回首頁4.6 后臺(tái)

38、管理模塊后臺(tái)管理模塊如圖4-6:圖4-6 后臺(tái)登陸界面管理員登錄模塊和用戶登錄模塊使用的方法一樣,通過對(duì)數(shù)據(jù)表b_manager的數(shù)據(jù)進(jìn)行查詢,輸入正確的賬號(hào)密碼,和數(shù)據(jù)表里的數(shù)據(jù)相符合可以登錄3。關(guān)鍵代碼如下:resultset rs = conndb.executequery("select * from b_manager where manager='"+ manager + "'");/查詢managerif (rs.next() string password = request.getparameter("pwd

39、");if (password.equals(rs.getstring("pwd ") /判斷密碼是否對(duì)應(yīng)session.setattribute("manager",manager); /session獲取managerresponse.sendredirect("index.jsp");后臺(tái)管理主頁面如圖4-7:圖4-7 后臺(tái)登陸頁面為了區(qū)別管理員與普通用戶,后臺(tái)管理全部頁面用綠色框。通過獲取數(shù)據(jù)表b_bookinfo的所有數(shù)據(jù),依次排列輸出。點(diǎn)擊書名可以查看圖書的詳細(xì)信息,實(shí)現(xiàn)的方法是通過傳遞圖書的isbn值,通過圖書

40、處理頁面進(jìn)行處理,選出傳遞過來的isbn對(duì)應(yīng)的圖書數(shù)據(jù),從而輸出到j(luò)sp頁面5。每一項(xiàng)后面都有相應(yīng)的修改和刪除功能,這兩個(gè)功能都是通過傳遞isbn的方式,結(jié)合javascript文件,使用action方法跳轉(zhuǎn)到對(duì)應(yīng)的處理頁面,然后實(shí)現(xiàn)數(shù)據(jù)庫操作。關(guān)鍵代碼如下:resultset rs_manager = conndb.executequery("select * from b_bookinfo");/查詢b_bookinfo所有數(shù)據(jù)int recordcount = rs_manager.getrow(); /獲取記錄總數(shù)for (int i = 1; i < rec

41、ordcount + 1; i+) /進(jìn)行for循環(huán)依次輸出string isbn = rs_manager.getstring("isbn");string bookname = rs_manager.getstring("bookname");string publisher = rs_manager.getstring("publisher");if (request.getparameter("isbn")!=null) /修改模塊獲取isbnstring isbn=request.getparameter

42、("isbn");resultset rs=conndb.executequery("select * from b_bookinfo where isbn='"+isbn+"'");if(request.getparameter("isbn")!="") /更新對(duì)應(yīng)isbn的數(shù)據(jù)表的數(shù)據(jù)string sql="update b_bookinfo set bookname='"+bookname+"',type='"

43、+type+"',publisher='"+publisher+"',writer='"+writer+"',introduce='"+introduce+"',price="+price+",pdate='"+pdate+"',cover='"+cover+"' where isbn='"+isbn+"'"if (request.g

44、etparameter("isbn")!=null) /刪除模塊獲取isbnstring isbn=request.getparameter("isbn");resultset rs=conndb.executequery("select * from b_bookinfo where isbn='"+isbn+"'");if(request.getparameter("isbn")!="") /刪除對(duì)應(yīng)isbn的數(shù)據(jù)表的數(shù)據(jù)string isbn= requ

45、est.getparameter("isbn"); /獲取傳遞的isbnstring sql="delete from b_bookinfo where isbn='"+isbn+"'" /4.7 用戶管理模塊用戶管理模塊如圖4-8:圖4-8 用戶管理頁面通過獲取b_member的數(shù)據(jù)依次輸出,在輸出的頁面的頁面上可點(diǎn)擊username進(jìn)入查看用戶的詳細(xì)信息,是通過傳遞過去的username,對(duì)數(shù)據(jù)庫進(jìn)行檢索,輸出對(duì)應(yīng)的數(shù)據(jù)。關(guān)鍵代碼如下:resultset rs_member = conndb.executequer

46、y("select * from b_member");/ 獲取數(shù)據(jù)表全部數(shù)據(jù)rs_member.last();int recordcount = rs_member.getrow(); /獲取記錄總數(shù)rs_member.first();for (int i = 1; i <= recordcount; i+) /依次輸出用戶信息if (request.getparameter("id")!=null) /判斷傳遞過去的id是否為空int id=integer.parseint(request.getparameter("id&

47、quot;);resultset rs=conndb.executequery("select * from b_member where id="+id); /然后輸出對(duì)應(yīng)id的數(shù)據(jù)4.8 訂單管理模塊訂單管理模塊如圖4-9:圖4-9 訂單管理頁面通過獲取b_order的數(shù)據(jù)依次輸出,在輸出的頁面的頁面上可點(diǎn)擊訂單號(hào)id進(jìn)入查看訂單的詳細(xì)信息,通過傳遞過去的id,對(duì)數(shù)據(jù)庫進(jìn)行檢索,輸出對(duì)應(yīng)的數(shù)據(jù),訂單執(zhí)行的意思是檢查訂單無誤后,開始為客戶發(fā)貨。關(guān)鍵代碼如下:resultset rs_order = conndb.executequery("select

48、 * from b_order"); / 獲取數(shù)據(jù)表全部數(shù)據(jù)rs_order.last();int recordcount = rs_order.getrow(); /獲取記錄總數(shù)rs_order.first();for (int i = 1; i <= recordcount; i+) /依次輸出數(shù)據(jù)if (request.getparameter("id") != null) /判斷傳遞的id值是否為空int id = integer.parseint(request.getparameter("id"); /獲取id值results

49、et rs_main = conndb.executequery("select * from b_order where orderid="+ id); /檢索對(duì)應(yīng)id的數(shù)據(jù)if (request.getparameter("id") != "") /根據(jù)id訂單執(zhí)行功能int id = integer.parseint(request.getparameter("id");string sql = "update b_order set enforce=1 where orderi

50、d=" + id; /執(zhí)行后數(shù)據(jù)表中的enforce的值為14.9 管理員退出模塊管理退出模塊是通過跳轉(zhuǎn)的按鈕,跳轉(zhuǎn)進(jìn)到退出處理頁面,通過session.invalidate()方法清除定義的session,最后用response直接返回后臺(tái)登陸框圖4-6。關(guān)鍵代碼如下:session.invalidate();response.sendredirect("/onlinebook/manage/login_m.jsp"); /用絕對(duì)路徑返回4.10購物車模塊購物車模塊如圖4-10、圖4-11:圖4-10 購物車頁面購物車模塊是本網(wǎng)上書店系統(tǒng)的最關(guān)鍵模塊,

51、主要利用javabean和jsp頁面1,來完成。用戶登錄后用session方法獲取username主頁展示的每本書,搜索到的書,以及查看全部圖書,都會(huì)多出購買按鈕,點(diǎn)擊后可放入購物車,購物車的時(shí)間是用了vector類型,vector是一個(gè)能存放任何類型的動(dòng)態(tài)數(shù)組,既能增加數(shù)據(jù)也能壓縮數(shù)據(jù)。此模塊用了一個(gè)變量gwc來存儲(chǔ)購買數(shù)據(jù),在session中保存。當(dāng)gwc為空,每點(diǎn)擊一次購買,gwc都會(huì)增加一個(gè)并保存一個(gè)圖書信息。當(dāng)沒放入購物車時(shí)候,gwc為空時(shí)3,直接用response跳轉(zhuǎn)到處理購物車為空的頁面。當(dāng)gwc不為空時(shí),添加頁面根據(jù)傳遞過去的isbn向數(shù)據(jù)庫里獲取數(shù)據(jù)輸出出來。關(guān)鍵代碼如下:i

52、f (gwc = null | gwc.size() = 0) /如果沒有獲取到gwc,返回購物車為空頁面response.sendredirect("cart_null.jsp");圖4-11 購物車有圖書當(dāng)點(diǎn)擊購買時(shí),變量gwc增加一個(gè),對(duì)應(yīng)的gwc就有個(gè)id,并存儲(chǔ)到j(luò)avabean文件里已經(jīng)定義的相應(yīng)的圖書isbn,價(jià)格數(shù)量,從數(shù)據(jù)庫中獲取信息后,用for循環(huán)輸出到頁面。購物車?yán)锏臄?shù)量可以直接改,用javascript實(shí)現(xiàn)提示。繼續(xù)購書可以返回首頁,清空購物車用removeattribute實(shí)現(xiàn),退回書籍是用傳遞對(duì)應(yīng)的gwc的id,用setattribute清除。關(guān)

53、鍵代碼如下:boolean flag = true;vector gwc = (vector) session.getattribute("gwc "); /定義gwc變量,并開始獲取if (gwc = null) gwc = new vector(); else for (int i = 0; i < gwc.size(); i+) bookelement bookitem = (bookelement) gwc.elementat(i); /對(duì)應(yīng)javabean定義的變量if (bookitem.isbn.equals(mybookelement.isbn) /此

54、處不能用=,用equals方法bookitem.number+; /圖書數(shù)量增加gwc.setelementat(bookitem, i); /將對(duì)應(yīng)的javabean變量,存入gwcflag = false;for (int i = 0; i < gwc.size(); i+) /輸出對(duì)應(yīng)數(shù)據(jù)庫的數(shù)據(jù)bookelement bookitem = (bookelement) gwc.elementat(i);isbn = (string) bookitem.isbn;if (isbn != "") resultset rs_book = conndb.executeq

55、uery("select * from b_bookinfo where isbn='"+ isbn + "'");if (rs_book.next() /如果獲取到數(shù)據(jù)庫數(shù)據(jù)bookname = rs_book.getstring("bookname");vector gwc = (vector) session.getattribute("gwc"); /清除對(duì)應(yīng)gwc值string id = request.getparameter("id");session.setatt

56、ribute("gwc ", gwc); /重新獲取gwc圖4-12 訂單提交頁面支付時(shí)先提取當(dāng)前用戶數(shù)據(jù)庫資料,輸出到文本框中,確認(rèn)訂單信息正確后,此信息將存入b_order表中,同時(shí)生成訂單號(hào),此orderid由數(shù)據(jù)庫自動(dòng)生成。用gettime方法獲取系統(tǒng)時(shí)間,之后再向b_oreder_detail表中存入isbn,time,bookname,publisher等數(shù)據(jù)。最后用javascript提示訂單成功,并清空購物車可以在訂單查詢中查看。關(guān)鍵代碼如下:date time= new java.sql.date(new java.util.date().gettime(); /獲取系統(tǒng)時(shí)間string sql = "insert into b_order /更新訂單信息表string sql = "insert into b_order_detail /更新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論