西安文理學院 詹 鑫 魏建軍 韓利凱
基于J2EE的B2C電子商務系統的設計與實現
西安文理學院 詹 鑫 魏建軍 韓利凱
采用B/S架構設計模式,實現了商品分類,訂單,公告和購物車的展示和詳細信息的查詢,用戶可以通過注冊和登錄、對商品進行選購,最后結賬生成訂單,并且管理員可以對商品進行更新維護等。
電子商務;J2EE;購物B/S;myEclipse
隨著互聯網+的快速發展,網購越來越受到廣大人們的喜愛,與傳統的商場購物方式相比,網上購物可以隨時隨地進行,而且種類繁多,與傳統的銷售模式相比,網上銷售不需要太多的銷售人員和占用太多的場地成本較低,是今后購物的發展趨勢[1]。本文基于J2EE的B2C電子商務系統(購物網站)的設計與實現,在該平臺上,用戶可以直接在瀏覽器登錄該網站,注冊用戶,瀏覽商品,選購商品,加入購物車,提交訂單,支付等,而管理員則可以通過網絡購物系統維護和修改后臺數據,作為數據庫的更新,用于給用戶提供訪問的數據等。
系統前臺功能如圖1 所示:

圖1 系統前臺功能圖
后臺功能和圖2所示。
前臺實現注冊、登錄、對商品進行選購,最后結賬生成訂單等,后臺模塊實現設置商品、訂單設置、公告設置、系統基本設置、廣告和鏈接設置等。當后臺數據發生變化時,管理員登錄后可對這些模塊的數據進行更新和修改。例如,當有新品上架時,管理人員登錄后臺,修改商品設置模塊,選擇添加商品,然后將商品信息添加到后臺數據庫,前端頁面通過請求將后臺數據庫的數據調出,然后通過前端顯示出來。

圖2 系統后臺功能圖
數據流圖整個過程反映了自上而下進行功能分析和細化的分析過程,數據流圖便于用戶理解和開發人員分析數據流的圖形化工具,從系統開發開始,然后逐層向下,直到完成系統所有描述為止[2]。該系統的頂層數據流圖主要是對管理員,用戶,商品分類,商品,用戶等信息的管理,上層數據流圖,如圖3所示。

圖3 系統頂層數據流圖
(1)管理員模塊和用戶設置模塊
這兩個模塊分別是對于后臺登錄人員信息的一個綜合管理,對于前臺注冊用戶的信息進行維護。
管理員模塊可以進行添加和刪除管理員,這部分的信息是維護登錄后臺人員的信息,還包括修改密碼等操作,管理員登錄后,先判定有沒有權限,如果有則對后臺數據進行操作。
(2)購物車管理模塊
這個模塊主要是用戶對于自己的購物車進行管理和維護,將商品放入購物車之后可以繼續購物,也可以直接選擇結賬,系統自動生成訂單,也可以清空購物車。
(3)訂單模塊
這個模塊主要是用戶結賬時生成訂單時必須要填寫的內容,主要包括詳細的地址,電話,用戶名等。
(4)加入購物車模塊
這個模塊主要是對用戶選中的商品進行存儲和展示,方便用戶對商品進行下一步的操作和處理, 有了這個模塊能夠更加方便用戶購物,用戶可以將喜歡的商品存到購物車,等方便的時候再去支付,這樣就省去了來回查看商品的麻煩,方便了用戶購物。
系統使用MySQL作為數據庫,利用java語言JDBC技術進行與MYSQL數據庫的連接、通過在java代碼中寫SQL語句進行頓時數據庫中的數據讀存取和更新、刪除操作[3]。連接數據庫的代碼如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/bookstore
uname=root
upwd=
static{
Properties properties = new Properties();
InputStream in = BaseDao.class.getResourceAsStream ("/database.properties");
try {
properties.load(in);
Class.forName(properties.getProperty("driver"));
url = properties.getProperty("url");
uname = properties.getProperty("uname");
upwd = properties.getProperty("upwd");
conn = DriverManager.getConnection(url, uname, upwd);
} catch (ClassNotFoundException e) {
System.out.println("沒有加載驅動程序");
e.printStackTrace();
} catch (IOException e) {
System.out.println("未找到配置文件");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("連接數據庫失敗");
e.printStackTrace();
}
}
public Connection getConn() throws SQLException{
if(conn == null){
conn = DriverManager.getConnection(url, uname, upwd);
}
return conn;
}
采用Junit設計了多個對應的測試用例,對系統進行了單元測試,結果證明系統運行穩定達到了設計要求。
[1]王海濤,賈宗璞.基于Struts和Hibernate的Web應用開發[J].計算機工程,2013,37(9):113.
[2]雷景生,葉文珺,李永斌.數據庫原理及應用[M].北京:清華大學出版社.2012.
[3]鄭巖.數據倉庫與數據挖掘原理及應用[M].北京:清華大學出版社.2013.
詹鑫(1994—),陜西安康人,研究方向:軟件工程。
魏建軍(1992—),陜西延安人,研究方向:軟件工程。