基于Java技术的B2C网上购物商城系统的设计与实现
2019-05-24王晟宇叶传奇刘迪李闯蒋文杰陈昕
王晟宇 叶传奇 刘迪 李闯 蒋文杰 陈昕
摘要:随着社会的发展和软件技术的不断进步,越来越多的企业和个人将信息化的管理方式运用到自己的领域中,所以开发一套软件系统是大有裨益的。该项目开发的商城系统不仅可以全面的展示企业商品,同时还可以将企业商品推广到世界各地,而且对于企业来说,网络商店相较于实体店的各方面成本较低。对于消费者来说,网上商城的模式更加的方便快捷。在这样的时代背景下,该项目针对企业开发一套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.
【通联编辑:代影】