1、电子商务平台是建立在Internet网上进行商务活动的虚拟网络空间和保障商务顺利运营的管理环境;是协调、整合信息流、物质流、资金流有序、关联、高效流行的重要场所。企业、商家可以充分利用网上购物商城提供的网络基础设施、支付平台、安全平台、管理平台等共享资源有效地、低成本地开展自己的商业活动。人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows XP下,以Oracle为数据库开发平台,Tomcat
2、网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册、购物车管理、订单管理、个人资料管理等功能,后台部分由管理员使用,主要包括商品管理、处理订单、用户信息管理、链接信息管理等功能。建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。关键词:Java EE;JSP;电子商务AbstractAlong with the vigorous development of the Internet, e-commerce networks as a shopp
3、ing center is a form of its highly efficient, low-cost advantages, gradually emerging as a business model and philosophy, there is no longer meet use and dissemination of information browsing, but a desire to bring the full enjoyment network more convenient. Internet shopping is being adapted to the
4、 fast pace of today society to live, so that customers can enjoy the convenience of fast and easy way to purchase their own like commodities. The system is trying to use JSP in a dynamic network of e-commerce websites structure, which is in WindowsXP, Oracle for database development in platform, Tom
5、cat application server as a network information services, use JSP (Java Server Pages) technology development online shopping system. Prospects and the background of some of his hours, the prospects of users, including users registered, a shopping cart management, order management, personal informati
6、on management, message board management functions; Background in part by managers, including commodity management, processing orders, customer information management, information management, and other functions links. After the establishment of the website is a dynamic, interactive, with commodities
7、, systems management, voice mail, and other functions of the e-commerce website users.Key words: Java EE; JSP; E-Commerce1 引言1.1 选题背景及意义电子商务建设的最终目的是发展业务和应用。目前Internet网上商家很多,但是由于缺乏相应的安全保障、支付手段、管理机制,一方面网上商家以一种无序的方式发展,造成重复建设和资源浪费;另一方面商家业务发展比较低级,很多业务仅以浏览为主,需要通过网外的方式完成自己流和物流,不能充分利用Internet网无时空限制的优势。21世纪的
8、今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。人们已经不再满足于了解最新信息、查找资料等一些传统的网络使用方式,而是过渡到娱乐、购物等新兴的网民生活。网上购物,成了当今广大群众的时尚。而商家,也逐渐重视起网络的作用,充分利用起网络的低成本、高效性来宣传企业形象和销售商品。因此,为了方便广大群众,满足商家的需求,我们专门构建网上商城系统。 因此有必要建立一个业务发展框架系统,规范网上业务的开展,提供完善的网络资源,安全保障、安全的网上支付和有效的管理机制,有效地实现资源共享,实现真正的电子商务。1.2 开发环境本次开发使用的工具有Oracle、MyEclipse、Tomcat等常
9、用的工具。具体的工具及版本如下表所示:表11 使用到的工具数据库管理系统Oracle 10g集成开发环境(IDE)MyEclipse 8.5服务器系统Tomcat 6.0其他软件PowerDesigner,Viso2002 系统分析2.1 可行性分析可行性研究是为了研究系统在经济、技术、法律等方面是不是可以进行开发,进行可执行性的分析是很重要的。经过研究,我得出了如下几点可行性分析:1)经济可行性:此系统可用于较小型的电商企业运用,若运行好,可继续进行后期维护和二次开发,具有经济效益。2)技术可行性:使用了目前流行的主流技术,不会落后,还是有很多人进行研究和测试的。3)法律可行性:全部代码皆为
10、自己独立编写开发,不存在抄袭等法律问题,拥有自主专利权。2.2 需求分析本设计拟实现一个可用于网上购物以及商品管理的电子商务平台,能够提供用户在互联网上进行商品买卖交易的各商务业务。2.2.1 运行要求1运行模块组合系统共有两大主要运行模块:网上购物模块以及后台管理模块,两个模块之间有安全的数据链接。2运行控制用户运行网上购物模块时,首先需进行资料注册,由系统认可后可以获得其他内部模块的使用许可,之后便可以运行查询浏览模块,用户完成购会话后,便运行结账模块,生成订单信息,待用户确认后运行付款模块,系统会调用通讯加密模块,对订单及网站信息打包加密后发送给网上银行模块。网上银行模块获得订单信息后,
11、进行数据库操作实现现金转账。同时系统还有失败处理模块,应用于各阶段的错误操作的响应。3运行时间各模块运行时间均应控制在12秒内(其中大部分为响应用户的动作)。2.2.2.2 接口要求接口要求包括用户接口、外部接口以及内部接口。1用户接口买家在购物之前需要有一个购物网站帐号,因此在进入购物网站页面以后需要申请一个新帐号,该帐号唯一表示了用户在购物网站的身份以及相关信息记录。每个商品有商品名,作者名,出版社名,出版时间,商品图片,当当价,定价组成。用户通过点击购买商品按钮将该商品加入到购物车当中。购物车包括用户选择的若干商品的集合,当用户将所有货物放入到购物车以后,点击提交订单按钮,从而进入银行转
12、账界面进行转账。2外部接口(1)软件接口服务器:本软件需要Tomcat服务器、Mysql数据库、JDK和JDBC驱动支持。本软件需要通过Tomcat服务器实现网站页面的正确显示;通过JDBC驱动链接SQL数据库,实现网站页面与数据库数据之前的交互;需要JDK支持页面中的JAVA技术。客户端:无需特殊的需要支持的软件,只需要安装浏览器即可。(2)硬件接口因软件本身网上购物的属性,服务器与客户端都需要网卡驱动以支持网上功能。3内部接口 由于本软件的性质是网上购物,主要的内部接口是指各网页之间的跳转关系及需要传递的参数2.2.2.3出错处理要求1出错输出信息(1)出错状况:用户没有注册;解决方法:点
13、击链接“创建一个新用户”,让用户进行注册。(2)出错状况:用户或者用户名密码出错;弹出消息“用户名或密码出错”提示用户。(3)出错状况:用户购买商品却还没有登录;直接把页面跳转到登录页面,让用户进行登录。用户购买一种商品商品却继续点击;弹出对话框提示用户“购买成功,请不要重复购买”,用户可以在购物车中修改同种商品的数量。(4)出错状况:用户在填写送货地址的时候填写的内容不符合要求;显示信息提示用户填写的内容有误。2出错补救措施性能降级;运行程序的服务器是情况多开通一些端口。用户资料丢失;起用备分服务器中的相应资料。用户定单丢失;3系统恢复设计如果系统因网络安全防范(邮件管理、病毒防御、非法入侵
14、等)问题而出现了大的错误,使系统无法正常运行,则必须起用备分程序;如果无法起用备分程序则只能关闭网站进行抢修。3 概要设计3.1 概要设计3.1.1设计目标本系统采用当前流行的Struts2+Spring+Hibernate整合框架进行开发。该系统具有前台和后台管理系统。构建一个能实现简单的电子商务的小型动态网上购物系统。能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。具备一个网上商品销售系统应该具备的功能,体现构建一个动态商务网站所需要的技术。3.1.2 系统模块结构图3-1 系统整体功能(1)前台模块结构图3-2 前台功能模块图(2)后台模块结构图3-3 后台功能模块图3.2
15、数据库设计与实现3.2.1 数据库表设计电子商务系统的使用者有管理员和会员,所以有用户表,商品表,用户购买东西后的商品订单表,具体的表信息如下:表31商品类别表字段名字段类型字段中文名备注nidnumber类别编号主键snamevarchar2(30)类别名称npid父类编号norder排序(可略去)表32商品信息表商品编号商品名称sdescriptionvarchar2(300)商品描述nprice商品价格simg商品图片smctagchar(1)是否缺贷dcdatedate添加时间nmaxid所属大类来自于商品类别表nminid所属小类表33用户表suser用户名spwd密码真实姓名sse
16、xvarchar2(3)性别dbirth出生日期semail电子邮箱sphone电话号码saddress地址scodechar(6)邮编dregdate注册时间slock是否冻结1 冻结0解冻dlastdate最后登录时间nlogin登录次数表34订单表订单编号流水号(主键)scuser订单用户名来自用户表dgdate下单时间spaytype付款方式ssendtype发贷方式nmctypesize商品种类数nmcsize商品总个数ntotalprice订单总金额sstatus审核状态1未审核2 通过3不通过smsgvarchar2(2000)订单反馈sauser审核人dadate审核时间ssn
17、ame收贷人ssaddress收贷人地址sscode收贷人邮编ssphone收贷人联系电话ssemail收贷人email表35订单条目(明细)表编号流水号norderid所属订单来自订单表nmcid订购商品ID来自商品信息表smcname商品名商品简述ncount商品数商品单价小计3.2.2 数据访问接口(1)用户的接口类图:(2)商品类别接口类图:(3)商品接口类图:4 详细设计及编码整个系统分为前台和后台的实现。完成整个设计的大部分功能的实现,整个用系统采用Struts2+Spring+Hibernate整合框架,严格地遵守MVC思想,采用分层结构。SSH即Struts+Spring+Hi
18、bernate,是典型的J2EE三层结构,分为表现层、中间层和数据访问层。三层体系将数据表现、业务逻辑和数据访问分开。业务逻辑、数据访问、权限拦截及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库打交道。表现层主要采用的是JSP+Struts,当然也有采用Struts+Freemarker或其他的结合,就目前来说,用JSP作为表现层还是占主流,JSP自问世以来,发展到现在,其稳定性已经得到大多数开发者的认同。Struts也可用到表现层,其实就是用它的标签,Struts强大的标签库为我们表现数据提供了一个很好的平台,通过Struts标签,
19、我们能很好地表现处理后的数据。中间层细分开来又分为控制层和业务逻辑层。控制层主要是对整个系统访问流程的控制,而业务逻辑层主要是对业务的控制。控制层主要由Struts来充当,我们通常说的MVC中的C,它作为表现层和数据层的中间介质,主要处理表现层和数据层的数据交换工作,当然像权限控制,数据校验,我们也会放在这一层中来进行。业务逻辑层主要由Service来控制,它主要封装的是业务逻辑,负责对更底层的DAO层进行封装。数据访问层主要由Hibernate来充当,它主要包括DAO层和PO层。DAO层封装好了对数据库的增、删、改、查的操作,而PO层主要是对实体对象的映射。Hibernate提供的是面向对象
20、的操作方法,使开发者可以使用面向对象的思想来操作数据库,在一些层级性比较强的数据面前,使用Hibernate是一种很好的选择,它可以很方便地就能检出表与表之间的关系,完全免去了以往用jdbc时的那种写SQL语句的繁琐。而且Hibernate还提供了很多关连和检出方式,这就极大的提高了程序运行的效率。Spring贯穿整个中间层和数据访问层,它对Struts和Hibernate进行了封装管理。将Web层、Service层、DAO层及PO无缝整合。Spring提供的IOC和AOP能很好地解决JS22一些老难题。采用IOC(控制反转),很好地提高了对象的生成,提高了系统的内存利用率。你不需要找我,有需
21、要时我会找你,这就是Spring IOC的核心。AOP提供的是一种全新的编程模式,切面编程。相对于以往的竖面编程,切面编程无疑是给开发者一种新的开发思路。它能够分离关注点,且能够将横切关注点嵌入到面向对象的软件系统中,很好地解决了像权限控制,日志登记,操作记录等的问题。本系统框架主要采用SSH框架,Struts主要是用来控制整个系统流程。它由三个部分组成,核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。本系统采用的核心控制器为2.1.8版本(如图3-4),该控制器作为一个Filter运行在Web应用中,它负责拦截所有的用户请求,当用户请求到达时,该Filter会
22、过滤用户请求。如果用户请求以action结尾,该请求将被转入Struts 2框架处理。Struts 2框架获得了*.action请求后,将根据*.action请求的前面部分决定调用哪个业务逻辑组件,例如,对于login.action请求,Struts 2调用名为login的Action来处理该请求。 filter struts2filter-class org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mapping *.action/filter-ma
23、pping*.jsp拦截器也是本系统中使用的一个Struts2重要组件功能,该组件功能提供一个事件拦截的方法,让你可以对某些动作进行拦截。例如本系统对所有后台操作都有一个检查是否登录的功能,如果没有登录则对其操作进行拦截。 public String intercept(ActionInvocation ai) throws Exception Map session=ai.getInvocationContext().getSession(); if(session.get(manager)!=null) return ai.invoke(); else ActionContext ac=a
24、i.getInvocationContext(); ac.put(tips, 您还没有登录,请登录!); return Action.LOGIN; 在本系统中Hibernate主要是对数据库的操作进行了封装。本系统数据库封装是采用外设形式。把连接数据库的信息全部写在外设的一个文件中,然后用Hibernate提供读取外设的功能去读取文件内容。采用此种做法的优点在于可以灵活配置数据库和对不同数据进行切换,考虑到以后有可能升级数据库,采用此种做法是很好的。property name=driverClassName value=$driver/url$urlusername$usernamepassword$password/bean 在本系统中Spring主要是对Struts和Hibernate进行了封装,把两个框架进行联结起来,采用IOC注入方式来调用对象,任何时候都对Struts和Hibernate对象进行托管,当有需要的时候自动提交给Struts或Hibernate。本系统对Spring作了一个小小的调整就是所有执行操作都放到Spring统一管理。在以往一些人整合SSH中,Struts的某些操作还是没有纳入到Sprin
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1