王晟宇 葉傳奇 劉迪 李闖 蔣文杰 陳昕
摘要:隨著社會的發展和軟件技術的不斷進步,越來越多的企業和個人將信息化的管理方式運用到自己的領域中,所以開發一套軟件系統是大有裨益的。該項目開發的商城系統不僅可以全面的展示企業商品,同時還可以將企業商品推廣到世界各地,而且對于企業來說,網絡商店相較于實體店的各方面成本較低。對于消費者來說,網上商城的模式更加的方便快捷。在這樣的時代背景下,該項目針對企業開發一套B2C商城系統,商城系統采用C/S架構,使用SSH框架技術用于后臺開發,前端顯示層使用BootStrap框架,同時采用MySQL數據庫存儲網站數據。
關鍵詞:B2C商城系統;C/S架構;SSH框架;BootStrap框架;MySQL數據庫
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)07-0282-03
1 研究背景及研究內容
信息技術產生和發展改變了人們的消費習慣,使人們從以前人們走遍多家商店挑選商品的生活方式改變為足不出戶就可以通過電腦和手機瀏覽并選購自己喜愛的商品,人們也可以隨時隨地搜索到最合適的合作伙伴,信息化為人們的工作和生活提供了極大的便利。
B2C商城系統在銷售模式上和傳統模式有很大的區別,在渠道成本、推廣成本和服務成本上有著的先天優勢,在整體情況下,將B2C商城系統和傳統模式作對比,B2C商城系統對消費者有更強的吸引力。在于傳統模式相比較的時候,消費者在獲取更多信息以輔助選擇、權衡性價比等方面,會更傾向于選擇B2C網上商城系統。虛擬的電子商務模式已經越來越走近大眾的生活。在B2C商城系統中,企業管理人員能夠直觀的觀察各類商品的庫存情況,便捷的統計銷售信息,以及進行商品的下架和更新,同時也能對自身的用戶體系進行分層統計以及信息分析,便于挖掘出潛在的消費能力和新用戶。
在系統的設計研究內容上本項目使用SSH框架為主導框架,并結合引入了BootStrap框架,SSH是Struts2、Spring和Hibernate的組合框架。Struts2本質上相當于一個servlet,完美地體現了MVC的設計理念,Struct2能使業務邏輯控制器與servletAPI完全剝離開來,這樣能夠方便開發者更好的管理項目的業務邏輯,Spring是一個解決了業務邏輯和其他各層耦合度過高的開源框架,Spring致力于提供一種方法管理業務對象,同時Spring的模塊化分層體系就能夠使開發者選擇使用Spring任何獨立結構仍然能保持架構的穩定性。Hibernate集諸多持久層設計思想于一體,能建立面向對象的域模型與關系之間的映射關系。BootStrap框架是簡潔、直觀、強大的熱門開源框架,該框架提高了頁面的可觀賞性,美觀的頁面增強了用戶體驗感。
2 系統總體要求
2.1 系統框架要求
(1)系統采用B/S構架模式。
(2)后臺采JavaWeb技術,并結合SSH(struts2 spring hibernate)框架。
(3)采用MVC設計模式,用一種業務邏輯、數據、界面顯示分離的方法組織代碼。
(4)前段使用BootStrap框架,使用JQuery,Ajax等技術。
(5)使用體積小、速度快、成本低的MySQL數據庫。
(6)系統提供良好的視圖組件及界面,大幅度提高用戶的體驗度。
(7)系統保證可擴展性,未來可方便實現功能增加以及健壯性。
2.2 軟件環境的要求
(1)操作系統:Window7及以上。
(2)編寫工具:Eclipse3.8及以上。
(3)瀏覽器:chrome、Firefox瀏覽器。
(4)服務器:Tomcat 9服務器。
(5)數據庫:MySQL 5.7。
2.3 硬件的支持要求
建議用戶的計算機使用以下配置(或更高):
(1)CPU:3.0Hz。
(2)內存:2G。
(3)硬盤:50G。
3 系統設計與實現
在零售行業競爭激烈的今天,只有不斷地創新,豐富渠道,實事求是,才能成功。電子商務網站也和傳統商業模式一樣,首先要確定好系統設計和技術分析,之后就可以開始網站的建設了。
在體系設計上,本項目由前臺和后臺系統組成。前臺系統展示頁面為顧客提供瀏覽界面,顧客可以在這里瀏覽商品、購物、支付等;后臺系統為維護者提供網站管理和維護的工具。
在系統實現中,頁面展示部分使用BootStrap框架,提高界面的美觀性和可觀賞性,保證用戶有著較好的體驗感;后臺部分使用成熟的SSH框架開發,提高邏輯處理的安全性以及服務器的穩定性。
SSH框架的系統從職責上可以劃分為四層,分別是:表示層、業務邏輯層、數據持久層以及域模塊層,采用分層次的架構方法便以搭建可復用性好、結構清晰并且維護方便的B2C商城網站應用。其中系統的整體基礎架構使用spring框架,MVC的分離和業務的跳轉控制使用Struts2框架模型,同時采用Hibernate框架對數據持久層提供支持。SSH框架在系統的進行整合時采用Spring框架做頂層管理,管理Struts2框架和Hibernate框架。
下面具體講解具有代表性的功能模塊以及介紹所用到的技術:
3.1 商品瀏覽
無論是登錄的用戶或是未登錄用戶均可在網站上瀏覽商品信息,商品信息通過后臺從數據庫調取獲得,以josn串的形式返回到主頁進行信息展示,并且在初次訪問時將獲得的信息通過ehcache緩存處理將數據放到內存中,并且,再次訪問時直接從內存中進行獲取,用于節約訪問系統的時間,同時減少服務器的壓力。
3.2 注冊登錄
用戶可以通過注冊成為本網站的用戶。點擊登錄頁面旁邊注冊按鈕時即可通過超鏈接跳轉到注冊頁面,注冊賬號是用戶手機號或郵箱號碼,同時密碼存儲時采用md5算法進行加密。在用戶填寫用戶名以后通過Ajax技術在數據庫中查詢,判斷用戶名是否重名,如果不重名則注冊用戶登錄信息表,獲取id后再進一步完善注冊用戶詳細信息表,之后服務端給客戶端返回結果JSON串。之后用戶通過輸入注冊賬號和密碼即可進行賬號登錄。登錄信息提交時首先請求服務端接口,返回并接收用戶信息后驗證通過再登錄。登錄成功后則把用戶信息保存在用戶本地瀏覽器中,保證用戶下次瀏覽網站時用戶賬號實現自動登錄,同時跳轉界面到網站主頁。
//md5算法
public static String myMd5Algorithm(String sendPlainText) {
byte[] mySecretBytes = null;
try {
mySretBytes = MessageDigest.getInstance("md5").digest(
sendPlainTextlainText.getBytes());
} catch (Exception e) {
throw new Exception("沒有md5這個算法!");
}
String myMd5Code = new BigInteger(1, mySretBytes).toString(16);// 16進制
// 如果生成數字未滿32位,需要前面補0
int i;
for ( i = 0 ; i< 32 - myMd5Code.length(); i++) {
myMd5code = "0" + md5code;
}
return myMd5code;
}
3.3 現金支付
為保障支付的安全性,本系統的支付采用第三方支付平臺“易寶”提供的支付接口進行支付,用戶添加商品至購物車并完成下單即可進入支付頁面。用戶選擇銀行并進入提交支付請求,傳遞易寶規定的安全參數,并且對這些參數進行數據加密,由易寶提供加密的密鑰和加密算法,當支付成功后,會重定向到指定的返回頁面,而且還會返回給一些參數,頁面需要獲取這些參數,顯示在頁面中。同時對于沒有支付成功的訂單進行異常處理。
//PaymentUtil方法如下:
public static String buildHmac(String p0_Cmd,String p1_MerId,
String p2_Order, String p3_Amt, String p4_Cur,String p5_Pid, String p6_Pcat,
String p7_Pdesc,String p8_Url, String p9_SAF,String pa_MP,Stringpd_FrpId,
String pr_NeedResponse,StringkeyValue)
public static booleanverifyCallback(String hmac, String p1_MerId,
String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,
String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,
String r8_MP, String r9_BType, String keyValue)
public static String hmacSign(String aValue, String aKey)
public static String toHex(byte input[])
public static String getHmac(String[] args, String key)
public static String digest(String aValue)
3.4 后臺管理員
管理員管理,又稱為權限管理,可以進行的操作有新增管理員以及修改管理員密碼,管理上傳文件,管理新增加產品時上傳的圖片以及其他文件;進行企業信息管理,可以設置和修改企業的各類信息及介紹;對商品進行添加,或是修改、分類和刪除商品;操作系統的日志,并且每一步操作都有記錄,系統更加安全。
4結論
B2C商城系統采用SSH為主導框架,結構清晰、可復用性好、維護方便,SSH框架基于MVC設計模式,實現了控制器、視圖與模型的完全分離,并且業務邏輯層與持久層也實現了分離,無論前端如何變化,模型層只需改動部分代碼即可完成,數據庫的變化也不會對前段界面布局有影響,提高了系統的可復用性。降低了系統的耦合度,便于開發效率的提高。技術的優越性才能保證了系統的功能完善性和用戶體驗的安全性,相信在未來的不斷發展中,B2C商城系統會不斷地完善和發展,從而更好地為人們提供服務。
參考文獻:
[1] 巴雷特(美),西爾弗曼(美). SSH權威指南[M].中國電力出版社, 2003.
[2] 林信良.Spring技術手冊[M].北京:電子工業出版社博文視點, 2006.
[3] 陳俟伶.SSH框架項目教程[M].北京:水利水電出版社, 2013.
[4] 范伊紅.基于HTML5的網頁設計及應用[M].北京:電子工業出版社, 2014.
[5] 單東林.鋒利的jQuery[M].2版.北京:人民郵電出版社,2012.
【通聯編輯:代影】