西安文理学院 詹 鑫 魏建军 韩利凯
基于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—),陕西延安人,研究方向:软件工程。