摘 要:互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)技術(shù)的發(fā)展,也使得信息技術(shù)發(fā)展越來越快,隨著信息技術(shù)的發(fā)展,電子商務(wù)時代來臨,在電子商務(wù)的發(fā)展中,安全問題和電子商務(wù)交易平臺的網(wǎng)絡(luò)數(shù)據(jù)庫,發(fā)揮重要作用?;贘SP的圖書商城系統(tǒng)支持PHP,PHP+JSP數(shù)據(jù)庫和網(wǎng)絡(luò)安全控制技術(shù)的應(yīng)用,實現(xiàn)了B2C電子商務(wù)交易平臺的應(yīng)用和實現(xiàn)。
關(guān)鍵詞:JSP 圖書商城系統(tǒng) 數(shù)據(jù)庫技術(shù)
一、圖書商城系統(tǒng)功能簡介
圖書商城系統(tǒng)主要由三部分組成:前臺系統(tǒng)實現(xiàn)用戶注冊、用戶登錄、圖書商品詳情在線查看、購物車管理及網(wǎng)上訂貨實現(xiàn)在線支付功能等;后臺系統(tǒng)主要是圖書商品訂單處理功能的實現(xiàn),包括圖書基本信息管理、商品信息更新、送貨管理、訂單管理、財務(wù)管理、數(shù)據(jù)庫管理等幾個方面;后臺實時系統(tǒng)的主要功能則是生成用戶在線訂單和收發(fā)地址郵件確認(rèn)等。
二、系統(tǒng)用戶分析
游客(未登錄):注冊、登陸、圖書商城信息查看;商城注冊用戶:商品瀏覽、添加圖書商品到購物車、購物車管理、生成訂單、訂單管理、在線支付;系統(tǒng)管理員:添加商品、商品管理、查看訂單、榜單查看(導(dǎo)出)。
三、系統(tǒng)數(shù)據(jù)庫設(shè)計
系統(tǒng)存在以下實體:用戶、商品、訂單、購物車,其中,購物車不放入數(shù)據(jù)庫,通過Session或者Cookie來實現(xiàn)。
1.用戶表。
create table users (
id int primary key auto_increment,
username varchar(40),
password varchar(100),
nickname varchar(40),
email varchar(100),
role varchar(100) ,
state int ,
activecode varchar(100),
updatetime timestamp );
2.商品表。
create table products(
id varchar(100) primary key ,
name varchar(40),
price double,
category varchar(40),
pnum int ,
imgurl varchar(100),
description varchar(255));
3.訂單表。
create table orders(
id varchar(100) primary key,
money double,
receiverinfo varchar(255),
paystate int,
ordertime timestamp,
user_id int ,
foreign key(user_id) references users(id)
);
4.用戶關(guān)系。
(1)用戶與訂單之間存在一對多(1:N)的關(guān)系:在多方添加一方主鍵作為外鍵;(2)訂單和商品之間存在多對多(N:N)的關(guān)系:創(chuàng)建第三張關(guān)系表,引入兩張表主鍵作為外鍵(聯(lián)合主鍵)。
5.訂單項。
create table orderitem(
order_id varchar(100),
product_id varchar(100),
buynum int ,
primary key(order_id,product_id),
foreign key(order_id) references orders(id),
foreign key(product_id) references products(id)
);
6.設(shè)置數(shù)據(jù)庫環(huán)境。數(shù)據(jù)庫:create database estoresystem
四、功能實現(xiàn)
1.用戶注冊(技術(shù)點:驗證碼技術(shù) 、激活郵件技術(shù))。
(1)一次性驗證碼原理:在生成驗證碼Servlet程序中,將生成驗證碼保存Session中,用戶提交驗證碼 與 保存在Session驗證碼進(jìn)行比較,如果相同,請求合法;
(2)注冊表單JS校驗:考慮JS校驗是否可以抽取成框架;
(3)處理form亂碼問題——通用get post亂碼過濾器;
(4)密碼MD5加密;
(5)激活郵件發(fā)送;
(6)配置通用錯誤處理頁面web.xml
500.jsp顯示錯誤的信息,404.jsp自動刷新跳轉(zhuǎn)回主頁面。
2.用戶登錄。用戶登陸原理:用戶輸入正確用戶名和密碼,登陸成功,用戶信息將會被保存Session對象中。——記住用戶名和密碼、自動登陸。(1)登陸表單中,添加記住用戶名和自動登陸功能; (2)登陸過程中判斷賬戶是否已經(jīng)激活;(3)在login.jsp顯示記住用戶名,在username的input項中添加 value=\"${cookie.username.value}\" 在勾選自動登陸 checkbox 添加;(4)登陸后注銷功能,注銷Session。
3.商品添加。文件上傳三個注意事項:(1)input輸入框 必須有name屬性; (2)表單form 必須post提交方式;(3)設(shè)置form的enctype 為 multipart/form-data;表單提交時,校驗分為兩種:客戶端校驗、服務(wù)器端校驗——只有服務(wù)器端校驗才能確保數(shù)據(jù)準(zhǔn)確。商品圖片上傳到服務(wù)器端后,保存在某個目錄,必須直接在WebRoot下及其除WEB-INF、META-INF子目錄外,一般情況下,一張表對應(yīng)Domain類——DAO類——Service類。
4.訂單列表查詢與取消。管理查詢訂單——所有人訂單信息;普通用戶——只能查詢自己的訂單; 在訂單生成后,查看訂單列表、也可以通過index.jsp進(jìn)入訂單查看頁面;重點:查詢訂單時,同時查詢訂單項目信息。
(1)查詢訂單基本信息時,查詢下單用戶昵稱和用戶名在Order類中添加用戶的username和nickname字段select orders.*,users.username,users.nickname from orders,users where orders.user_id = users.id;
(2)查詢訂單項信息時,查詢商品的名稱和單價,在OrderItem類中添加商品的name和price 字段 select orderitem.*,products.name,products.price from orderitem,products where orderitem.produtct_id = products.id and orderitem.order_id=?訂單取消:刪除訂單表信息時,同時刪除訂單項信息(訂單項信息依賴訂單信息,必須先刪除訂單項)
5.訂單在線支付。
(1)網(wǎng)站進(jìn)行支付,根據(jù)易寶支付接口請求規(guī)范,生成易寶需要數(shù)據(jù),將數(shù)據(jù)提交到易寶指定網(wǎng)址,在提交支付請求給易寶,需要將請求中數(shù)據(jù),使用易寶提供密鑰和算法進(jìn)行加密,獲得數(shù)字簽名hmac碼,將hmac碼發(fā)送給易寶;
(2)易寶會連接銀行,進(jìn)行支付;
(3)支付后,瀏覽器會以重定向方式訪問網(wǎng)站回調(diào)程序,易寶在收到銀行轉(zhuǎn)賬后,會以Socket方式通知網(wǎng)站,在瀏覽器重定向通知后,提供給用戶支付成功顯示頁面,期間不能修改訂單狀態(tài),在網(wǎng)站收到易寶點對點通知后,回復(fù)易寶success,修改訂單狀態(tài);
(4)數(shù)字簽名原理:將數(shù)據(jù)使用密鑰和算法加密后獲得數(shù)字簽名hmac,將數(shù)據(jù)和數(shù)字簽名hmac一起發(fā)送給易寶,易寶采用同樣密鑰和算法對數(shù)據(jù)進(jìn)行加密獲得數(shù)字簽名hmac,比較請求中數(shù)字簽名hmac與加密后獲得數(shù)字簽名hmac是否一致,如果一致簽名hmac有效(數(shù)據(jù)沒有被篡改);
(5)在線支付過程中,首先pay.jsp 銀行選擇頁面,OnlinePayServlet 準(zhǔn)備易寶支付參數(shù),confirm.jsp通過form的隱藏域提交參數(shù)給易寶網(wǎng)址,最后,通過CallbackServlet回調(diào)程序收到瀏覽器重定向和服務(wù)器點對點兩個通知,瀏覽器重定向,顯示支付成功,期間不能修改訂單狀態(tài),服務(wù)器點對點,修改訂單狀態(tài),回復(fù)success。
五、結(jié)語
本文詳述了如何設(shè)計一個基于JSP網(wǎng)上圖書商城系統(tǒng),闡述了圖書商城系統(tǒng)的用戶分類、數(shù)據(jù)庫設(shè)計代碼、功能模塊設(shè)計與實現(xiàn)以及相關(guān)技術(shù),基于JSP+JavaBean模式的小型電子商務(wù)平臺,提供了友好的用戶界面,簡化了操作流程,具有完備的功能。
參考文獻(xiàn):
[1]周光明,曾建華,沈翠心等.在線購物系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦學(xué)習(xí),2004(2).
[2]李霞,劉慧婷,趙凱等.基于JSP的宿舍管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2008(12).
[3]廖彥華,羅小亮.基于JSP技術(shù)的網(wǎng)上購物系統(tǒng)[J].電腦知識與技術(shù):學(xué)術(shù)交流,2007(12).
[4]郭萬召.圖書館在線參考咨詢服務(wù)優(yōu)缺點及改進(jìn)對策[J]. 四川圖書館學(xué)報,2004(05).
[5]胡康秀,王兵賢.基于JSP的網(wǎng)上書店銷售系統(tǒng)的設(shè)計與實現(xiàn)[J].中國管理信息化,2009(05):106-109.
[6]秦成華.基于JSP網(wǎng)絡(luò)購書系統(tǒng)的開發(fā)與實現(xiàn)[D].長春: 吉林大學(xué), 2008.
作者簡介:袁斌(1981.08—)。民族:漢。云南省曲靖市人。學(xué)歷:碩士學(xué)歷。碩士畢業(yè)院校:云南大學(xué)。講師主要研究方向:計算機應(yīng)用技術(shù)。