數(shù)據(jù)庫課程設(shè)計(jì)報告-網(wǎng)上書店系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計(jì)報告-網(wǎng)上書店系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計(jì)報告-網(wǎng)上書店系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計(jì)報告-網(wǎng)上書店系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計(jì)報告-網(wǎng)上書店系統(tǒng)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

網(wǎng)上書店網(wǎng)站實(shí)驗(yàn)報告項(xiàng)目說明網(wǎng)上書店:顧名思義,網(wǎng)站式的書店。是一種高質(zhì)量,更快捷,更方便的購書方式。網(wǎng)上書店不僅可用于圖書的再線銷售,也有音碟、影碟的在線銷售。而且網(wǎng)站式的書店對圖書的管理更加合理化,信息化。售書的同時還具有書籍類商品管理、購物車、訂單管理、會員管理等功能,非常靈活的網(wǎng)站內(nèi)容和文章管理功能。但網(wǎng)上書店的真實(shí)性是消費(fèi)者的最大顧慮,這也是網(wǎng)上書店還不被大多數(shù)消費(fèi)者所接受的原因之一。在網(wǎng)上書店買書,可以查到所買圖書的更多信息,因?yàn)榫W(wǎng)上書店是一個網(wǎng)站,它有它獨(dú)特的售書方式和功能。如用戶注冊會員功能等,會員類型有:高級會員、金牌會員等。有的網(wǎng)上書店有會員積分設(shè)置,如達(dá)到一定積分時自動成為高級會員,高級會員會有優(yōu)惠和特別的服務(wù)。還有就是支付方式了,一般網(wǎng)上書店都有三種類型的支付方式:匯款類支付、在線支付、其他支付方式,其中在線支付只要到支付平臺開戶后,將所獲開戶信息填入即可。當(dāng)在網(wǎng)上書店購書后,用戶所購圖書都在網(wǎng)站上有記錄,方便用戶查詢。需求分析網(wǎng)上書店和現(xiàn)實(shí)書店區(qū)別比較:網(wǎng)上書店的優(yōu)勢:涉及范圍廣,經(jīng)營成本低,劣勢:信用度如果低,影響生意;現(xiàn)實(shí)書店的優(yōu)勢:直觀,信用度高。劣勢:涉及范圍有限,經(jīng)營成本高;現(xiàn)在有部分現(xiàn)實(shí)書店已經(jīng)開始從網(wǎng)上書店進(jìn)貨了。本系統(tǒng)開發(fā)的目的是為了學(xué)習(xí)這樣去做一個交互式的網(wǎng)頁以及了解這種強(qiáng)大的網(wǎng)絡(luò)編程工具,方便客戶端和瀏覽器端之間的交流。數(shù)據(jù)庫采用實(shí)用,易學(xué)的SQLSever2000,以Tomcat作為JSP的WEB服務(wù)器,XP作為系統(tǒng)運(yùn)行平臺??傮w設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?/p>

1.利用本次機(jī)會來了解JSP一般的技術(shù)及使用模式,并能夠使用這種技術(shù),建立一個簡單的論壇網(wǎng)站。

2.通過本次學(xué)習(xí),使自己鞏固所學(xué)過的書本理論知識,加深對相關(guān)內(nèi)容的理解。實(shí)驗(yàn)要求:

要基本了解JSP編程技術(shù),學(xué)會使用JSP開發(fā)一個小型網(wǎng)站的基本知識,鞏固數(shù)據(jù)庫基本理論,并用于開發(fā)一個小型的網(wǎng)站。

三技術(shù)簡介

JavaServerPages(JSP)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動態(tài)HTML混合編碼的技術(shù),許多由CGI程序生成的頁面大部分仍舊是靜態(tài)HTML,動態(tài)內(nèi)容只在頁面中有限的幾個部分出現(xiàn)。但是包括Servlet在內(nèi)的大多數(shù)CGI技術(shù)及其變種,總是通過程序生成整個頁面。JSP使得我們可以分別創(chuàng)建這兩個部分。(3)系統(tǒng)設(shè)計(jì)特點(diǎn):

網(wǎng)上書店具有:(1)提供了全面,詳細(xì)的圖書購物入口,輕松實(shí)現(xiàn)快捷購買。(2)可以通過不同分類進(jìn)行導(dǎo)航,用最方便,最快捷的方式找到你需要的圖書。(3)提供了圖書購物所需的各種工具與網(wǎng)站,滿足你的圖書購買需求。(4)公正性很強(qiáng)(大站.專站.小站)排列順序分明.公平公正的圖書網(wǎng)址TOP排行數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)使用數(shù)據(jù)庫引擎為HSQLDB。數(shù)據(jù)庫文件SIMS(studentinformationmanagementsystem)。該系統(tǒng)表:1圖書基本信息表(book)

2圖書分類基本信息表(bookcat)

3客戶基本信息表(storeuser)

4訂單信息表(orders)

5訂單條目詳細(xì)信息表(orderdetails)

==

1

===========================================

字段名描述

類型

id圖書編號

int

catid圖書分類編號int

name圖書名稱

varchar

price圖書價格

int

saleprice銷售價格

int

descript圖書介紹

varchar

author圖書作者

varchar

contents圖書目錄

varchar

image圖書封面圖片存放路徑varchar

==

2

===========================================

字段名描述

類型

id圖書分類編號int

catname圖書分類名稱varchar

==

3

===========================================

字段名描述

類型

username用戶名

varchar

password密碼

varchar

name客戶姓名

varchar

tel客戶電話

varchar

address客戶地址

varchar

email客戶電子郵件地址varchar

==

4

===========================================

字段名描述

類型

id訂單編號int

username訂單對應(yīng)用戶名varchar

time產(chǎn)生訂單的時間smalldatetime

delivery訂單對應(yīng)送貨方式varchar

payment訂單對應(yīng)付款方式varchar

==

5

===========================================

字段名描述

類型

orderid訂單編號

int

bookid圖書編號

int

count訂購數(shù)量

int

price該條目對應(yīng)價格int建立數(shù)據(jù)庫數(shù)據(jù)庫連接packages2jsp.lg.dao.impl;importjava.sql.*;publicclassBaseDao{publicfinalstaticStringDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver";//數(shù)據(jù)庫驅(qū)動publicfinalstaticStringURL="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=bbs";//urlpublicfinalstaticStringDBNAME="";//數(shù)據(jù)庫用戶名publicfinalstaticStringDBPASS="sa";//數(shù)據(jù)庫密碼/***得到數(shù)據(jù)庫連接*@throwsClassNotFoundException*@throwsSQLException*@return數(shù)據(jù)庫連接*/publicConnectiongetConn()throwsClassNotFoundException,SQLException{Class.forName(DRIVER);//注冊驅(qū)動Connectionconn=DriverManager.getConnection(URL,DBNAME,DBPASS);//獲得數(shù)據(jù)庫連接returnconn;//返回連接}/***釋放資源*@paramconn數(shù)據(jù)庫連接*@parampstmtPreparedStatement對象*@paramrs結(jié)果集*/publicvoidcloseAll(Connectionconn,PreparedStatementpstmt,ResultSetrs){/*如果rs不空,關(guān)閉rs*/if(rs!=null){try{rs.close();}catch(SQLExceptione){e.printStackTrace();}}/*如果pstmt不空,關(guān)閉pstmt*/if(pstmt!=null){try{pstmt.close();}catch(SQLExceptione){e.printStackTrace();}}/*如果conn不空,關(guān)閉conn*/if(conn!=null){try{conn.close();}catch(SQLExceptione){e.printStackTrace();}}}/***執(zhí)行SQL語句,可以進(jìn)行增、刪、改的操作,不能執(zhí)行查詢*@paramsql預(yù)編譯的SQL語句*@paramparam預(yù)編譯的SQL語句中的‘?’參數(shù)的字符串?dāng)?shù)組*@return影響的條數(shù)*/publicintexecuteSQL(StringpreparedSql,String[]param){Connectionconn=null;PreparedStatementpstmt=null;intnum=0;/*處理SQL,執(zhí)行SQL*/try{conn=getConn();//得到數(shù)據(jù)庫連接pstmt=conn.prepareStatement(preparedSql);//得到PreparedStatement對象if(param!=null){for(inti=0;i<param.length;i++){pstmt.setString(i+1,param[i]);//為預(yù)編譯sql設(shè)置參數(shù)}}num=pstmt.executeUpdate();//執(zhí)行SQL語句}catch(ClassNotFoundExceptione){e.printStackTrace();//處理ClassNotFoundException異常}catch(SQLExceptione){e.printStackTrace();//處理SQLException異常}finally{closeAll(conn,pstmt,null);//釋放資源}returnnum;}}5.詳細(xì)設(shè)計(jì) (1)JSP概述 網(wǎng)上書店系統(tǒng)中把數(shù)據(jù)庫的連接參數(shù)寫在perties文件中,再用一個Java類來生成一個數(shù)據(jù)庫連接對象以供其他程序使用。網(wǎng)上書店的首頁顯示的內(nèi)容最多,但源代碼并不長,原因是:一是因?yàn)橐恍┒鄠€頁面共用的代碼被放入另一個文本文件或JSP文件中,在需要的地方包含進(jìn)來,減少了代碼量,提高了代碼的可復(fù)用程度;二是系統(tǒng)較好地進(jìn)行了模塊化的設(shè)計(jì)與開發(fā),在JSP頁面中很少用到Java代碼,所有業(yè)務(wù)邏輯都用Java類來完成,JSP頁面中只是簡單的展現(xiàn)數(shù)據(jù)。JSP是Sun公司在Java和Servlet技術(shù)基礎(chǔ)上推出的一種新型的服務(wù)器端動態(tài)腳本技術(shù)。它已經(jīng)逐漸成為架設(shè)電子商務(wù)網(wǎng)站的主流技術(shù)。它的以下特點(diǎn)決定了本系統(tǒng)為什么采用JSP作為Web應(yīng)用程序的開發(fā)工具。⒈JSP將內(nèi)容的生成和顯示進(jìn)行分離2.JSP程序運(yùn)行在服務(wù)端3.高性能的編譯運(yùn)行機(jī)制4.繼承了Java的跨平臺特性5.可重用組件6.可擴(kuò)展標(biāo)簽庫7.強(qiáng)大的數(shù)據(jù)庫支持(2)封裝的操作;*/

publicclassbookTypeOPBeanextendsdbOpertaion{

publicArrayListbookTypeArray=newArrayList();

publicStringbookTypeIdStr=newString("");

/**。(3)構(gòu)造函數(shù),將所有書藉類型信息查詢出來:*/

publicbookTypeOPBean(){

StringsqlString="select*frombook_type";

ResultSetrs=this.executeQuery(sqlString);

try{

inti=0;

while(rs.next()){

bookTypeBeanbookType=newbookTypeBean();

bookType.setBookTypeId(rs.getInt("type_id"));

bookType.setBookTypeName(rs.getString("type_name"));

bookTypeArray.add(i,bookType);

i++;

}

}catch(SQLExceptione){

e.printStackTrace();

bookTypeArray=null;

}

}

/**通過書藉分類名稱查找類型信息:*/

publicbookTypeBeanselectBookTypeByName(StringbookTypeName){

if(bookTypeName==null)returnnull;

bookTypeBeanbookType=newbookTypeBean();

StringsqlString="select*frombook_typewheretype_name='"+bookTypeName+"'";

ResultSetrs=this.executeQuery(sqlString);

try{

inti=0;

if(rs.next()){

bookType.setBookTypeId(rs.getInt("type_id"));

bookType.setBookTypeName(rs.getString("type_name"));

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnbookType;

}

/**根據(jù)屬性bookTypeIdStr查找書藉類型信息:*/

publicbookTypeBeanselectBookTypeId(){

intbookTypeId=0;

if(bookTypeIdStr!=null&&bookTypeIdStr.length()>1)

try{

bookTypeId=Integer.parseInt(bookTypeIdStr);

}catch(Exceptione){

e.printStackTrace();

}

if(bookTypeId==0)returnnull;

bookTypeBeanbookType=newbookTypeBean();

StringsqlString="select*frombook_typewheretype_id="+bookTypeId;

ResultSetrs=this.executeQuery(sqlString);

try{

if(rs.next()){

bookType.setBookTypeId(rs.getInt("type_id"));

bookType.setBookTypeName(rs.getString("type_name"));

}

}catch(SQLExceptione){

e.printStackTrace();

}

returnbookType;

}

/**(6)更新書藉分類:*@parambookTypeId:類型ID號

*@parambookTypeName:類型名稱

*@returnint:返回更新的行數(shù)

*/

publicintupdateBookType(intbookTypeId,StringbookTypeName){

if(bookTypeId==0||bookTypeName==null||bookTypeName.length()<=0)

return0;

//構(gòu)造SQL語句

StringsqlString="updatebook_typesettype_name='"+bookTypeName+

"'wheretype_id="+bookTypeId;

//執(zhí)行SQL語句

inti=this.executeUpdate(sqlString);

returni;

}

/**(7)新增一個書藉類型:*/

publicintinsertBookType(StringbookTypeName){

inti=0;

//構(gòu)造SQL語句

StringsqlString="insertintobook_type(type_name)values('"+bookTypeName+"')";

//執(zhí)行SQL語句

i=this.executeUpdate(sqlString);

returni;

}

/**(8)刪除一個書藉類型:*@parambookTypeId:要刪除的類型ID號

*@returnint:返回刪除的類型個數(shù)

*/

publicintdeleteBookType(intbookTypeId){

inti=0;

//構(gòu)造SQL語句

StringsqlString="deletebook_typewheretype_id="+bookTypeId;

//執(zhí)行SQL語句

i=this.executeUpdate(sqlString);

returni;

}

publicArrayListgetBookTypeArray(){

returnbookTypeArray;

}

publicvoidsetBookTypeArray(ArrayListbookTypeArray){

this.bookTypeArray=bookTypeArray;

}

publicStringgetBookTypeIdStr(){

returnbookTypeIdStr;

}

publicvoidsetBookTypeIdStr(StringbookTypeIdStr){

this.bookTypeIdStr=bookTypeIdStr;

}

}(9)網(wǎng)上書店系統(tǒng)中所有的報錯信息都保存在一個“.properties”文件中,文件內(nèi)容如下:book.bookNameNull=書藉名沒有輸入!

book.typeIdNull=書藉所屬類型沒有選擇!

book.priceNotFloat=價格不為數(shù)字!

book.priceRebateNotFloat=折扣輸入不正確!

book.publishDateError=出版日期輸入有誤!

book.pageCountError=頁數(shù)不為數(shù)字!

addbook.insertError=插入新書時出錯!

updatebook.updateError=更新書藉信息時出錯!

bookType.bookTypeHaved=書藉類型已存在!

bookType.insertError=插入新的書藉類型時出錯!

booktype.updateError=更新書藉類型信息時出錯!

user.userNameNull=用戶名輸入為空!

user.userPasswordNull=用戶密碼輸入為空!

user.passwordNotEqual=兩次輸入的密碼不一致!

user.insertError=插入新的用戶時出錯!

user.certCodeError=驗(yàn)證碼不對!

user.userError=用戶名或密碼輸入有誤!

user.sessionError=用戶會話已失效!

orderform.newError=生成新的訂單時出錯!

orderform.saveError=保存訂單時出錯!(10):CREATETABLEmembers(member_idintauto_incrementprimarykey,member_loginvarchar(20)NOTNULL,member_passwordvarchar(20)NOTNULL,member_levelintNOTNULLDEFAULT1,first_namevarchar(50)NOTNULL,last_namevarchar(50)NOTNULL,emailvarchar(50)NOTNULL,phonevarchar(50)NULL,addressvarchar(50)NULL,notestextNULL,card_type_idintNULL,card_numbervarchar(50)NULL);(11):CREATETABLEitems(item_idintauto_incrementprimarykey,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論