当前位置:文档之家› java ee电子商城系统课程设计

java ee电子商城系统课程设计

青岛工学院JavaEE开发与应用课程设计报告电子商城系统组长姓名xxxxxxx学号xxxxxxxxxxxxx组员姓名xxxxxxx学号xxxxxxxxxxxxxx组员姓名xxxxxxx学号xxxxxxxxxxxxxx指导教师________xxxxxxxxx___________学院信息工程学院_________专业软件工程青岛工学院目录1综述选题依据随着网上购物的迅猛发展,电子商城大量涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。

本商城主要利用JavaEE与Ajax技术进行开发,具有很强的安全性、可靠性和可扩展性。

其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,能满足基本的网上购物需求,能让用户感到便捷、快速,让企业管理、维护更简单。

技术介绍随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很好的推进作用。

本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程。

该系统是基于多层企业级应用标准JAVAEE技术开发的WEB应用,以典型的MVC模式架构为基础。

采用SSH2与前台Ajax技术相结合来实现,在设计过程中全方位的应用软件工程的开发思想,对项目进行UML建模包括各模块的类图、时序图等。

系统基于B/S分布式结构,适应范围广阔。

S2SH集成框架是Struts2、Spring和Hibernate三种技术的有机融合,是目前应用最广泛的JavaEE架构。

在S2SH集成框架中,Struts的作用是提供MVC模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。

Spring作为核心,向上整合MVC框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring 的声明事务将负责逻辑层组件的事务管理。

而Hibernate提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。

Struts是目前创建Web应用最常用的表现层MVC框架实现,基于Model2的Struts框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。

作为开源项目,Struts经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。

Spring由RodJohnson创建,它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。

AJAX是AsynchronoutJavaScriptandXML的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换和处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。

AJAX的一个最大的特点是无需刷新页面便可向服务器传输或读写数据这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

主要开发工具为:、、主要技术包括:JavaEE轻量级框架S2SH、MD5算法、Log4j、Ajax。

系统基于B/S模式开发的JAVAEE多层体系结构WEB应用。

主要分为以下几层:表示层、业务层、DAO层、持久层。

业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。

组内成员分工表1-3成员分工表2系统需求分析功能需求本电子商城分为前后台两部分,前台主要包括非会员和会员用户,后台分为商品管理员、订单管理员、会员管理员和系统管理员。

在系统中依据用户的权限执行相应的功能。

(1)注册功能。

顾客首先要注册为网上商城的用户。

注册时要填写登录用户名、密码、真实姓名、身份证、联系电子信箱等信息。

(2)选择产品功能。

顾客浏览网上商城,将自己需求的产品放入到购物车中,可连续添加商品。

(3)管理购物车。

顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。

(4)订单功能。

顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。

如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。

顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。

(1)商品管理:管理员可以添加、修改、删除商品。

(2)会员管理:可以回复或解答顾客在留言板找到的问题。

(3)订单管理:查看、受理订单。

性能需求操作系统:Windows7或以上版本数据库:Mysql开发工具与语言:MyEclipse10服务器可以是:数据库连接驱动:JDBC3系统设计系统总体设计本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。

后实现对前台功能信息的管理,后台用户主要分为商品管理员、会员管理、订单管理、系统维护员,不同的管理实现不同的功能。

根据需求本系统可分为如下两个模块:(1)购物模块:顾客在线注册、购物、提交订单、付款等操作;(2)后台管理模块:产品的添加、删除、查询、订单的管理、留言板的回复、已注册用户的管理等。

其系统功能模块图如图3-1:图3-1系统功能模块图系统详细设计为了更加清晰的表达系统的业务功能模块,下面给出了本系统的业务流程图。

其中包括购物模块和后台管理模块。

(1)后台管理模块如图3-2:图3-2后台管理流程图(2)购物模块如图3-3:图3-3购物模块流程图系统数据库设计表3-3数据表清单4系统实现依据架构思想,将开发类主要分为action、bean、dao、service逻辑包。

action 包含所有的控制层类,bean包含所有领域对象及相应的ORM映射文件,dao包含所有的持久层抽象类,service包含所有业务层类。

另一方面根据系统开发所需建立filter (过滤器)包、listener(监听器)包、tool(工具)包。

整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。

系统时序图时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。

以下列出了本商城中的登录时序图与购物时序图,其它功能时序图与其两者基本相似,只是处理的对象不同,故此不在赘述。

图4-1登录时序图图4-2:购物时序图(1)商品信息模块:本模块主要用来显示、查询和商品评论的功能。

主要涉及的类和方法如下类图。

其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在模块中不再重复介绍。

另一方面各模块各层之间类的关系也相同。

(2)会员模块:在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。

后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过Json进行数据转换,前台通过Ajax接收数据。

系统目录如图4-3:图4-3系统目录图具体模块实现电子商城主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。

注册模块功能主要为商城的游客(即系统的普通浏览者)而设计,商城游客在浏览了商城的商品信息后,如果要购买商品,必须首先注册成为商城系统的客户,然后再登录成功后才能进行购买。

在注册模块需要用户输入登陆账号、密码、真实姓名、联系电话、联系住址、邮件编码、电子邮件信息。

其中登录账号、密码、是必填项,有JavaScript验证,如果不进行输入,而提交注册信息会有错误提示。

该模块的页面效果如图4-4所示。

图4-4注册页面效果该模块的代码实现过程是:首先使用request对象获取用户提交的数据,然后根据注册用户名查询数据库,如果存在该用户,则提示用户重新注册用户名,如果不存在则进行数据库插入操作,并提示注册成功。

该流程代码如下所示:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringusername=("username");Stringpassword=("password");Useruser=newUser();(password);(username);if())("").forward(request,response);elseif()) ("").forward(request,response);else ("").forward(request,response);}本模块主要用来显示、查询和商品评论的功能。

主要涉及的类和方法如下类图。

其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在各模块表4-5MerchantableDAO类在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。

相关主题