java-ee电子商城系统课程设计.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java ee 电子商城 系统 课程设计
- 资源描述:
-
青 岛 工 学 院 Java EE开发与应用课程设计报告 电子商城系统 组长姓名 xxxxxxx学号 xxxxxxxxxxxxx 组员姓名 xxxxxxx 学号 xxxxxxxxxxxxxx 组员姓名 xxxxxxx 学号 xxxxxxxxxxxxxx 指导教师 ________ xxxxxxxxx___________ 学 院 信息工程学院_________ 专 业 软件工程 青 岛 工 学 院 目 录 1综述 1 1.1选题依据 1 1.2技术介绍 1 1.2.1开发工具介绍 2 1.2.2系统技术介绍 2 1.3组内成员分工 2 2系统需求分析 3 2.1功能需求 3 2.1.1前台页面功能 3 2.1.2后台管理功能 3 2.2性能需求 3 3系统设计 4 3.1系统总体设计 4 3.2系统详细设计 5 3.3系统数据库设计 6 4系统实现 7 4.1系统时序图 7 4.2具体模块实现 8 4.2.1注册模块实现 8 4.2.2商品信息模块: 9 4.2.3会员模块: 11 4.2.4购物车模块: 12 4.2.5订单模块 13 4.2.6商品类别模块: 14 4.2.7后台管理员模块: 15 5系统测试 16 5.1前台页面 16 5.2后台页面图 18 6问题总结 20 1综述 1.1选题依据 随着网上购物的迅猛发展,电子商城大量涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。本商城主要利用JavaEE与Ajax技术进行开发,具有很强的安全性、可靠性和可扩展性。其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,能满足基本的网上购物需求,能让用户感到便捷、快速,让企业管理、维护更简单。 1.2技术介绍 随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很好的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程。该系统是基于多层企业级应用标准JAVA EE技术开发的WEB应用,以典型的MVC模式架构为基础。采用SSH2与前台Ajax技术相结合来实现,在设计过程中全方位的应用软件工程的开发思想,对项目进行UML建模包括各模块的类图、时序图等。系统基于B/S分布式结构,适应范围广阔。 S2SH集成框架是Struts2、Spring 和Hibernate 三种技术的有机融合, 是目前应用最广泛的Java EE 架构。在S2SH集成框架中,Struts 的作用是提供MVC 模型, 将界面、业务逻辑和数据分离, 并提供一个高可扩展的架构。Spring作为核心,向上整合MVC框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。而Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。 Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,基于Model2 的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。 Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的客户端程序使用, 也可以在Servlet/JSP 的Web 应用中使用。 AJAX是Asynchronout JavaScript and XML的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换和处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。AJAX的一个最大的特点是无需刷新页面便可向服务器传输或读写数据这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 1.2.1开发工具介绍 主要开发工具为:MyEclipse10.0、Mysql5.5、Tomcat7.0主要技术包括:JavaEE轻量级框架S2SH、MD5算法、Log4j、Ajax。 1.2.2系统技术介绍 系统基于B/S模式开发的JAVA EE多层体系结构WEB应用。主要分为以下几层:表示层、业务层、DAO层、持久层。业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。 1.3组内成员分工 序号 成员 主要任务 所占系统比例 1 购物车及商品管理 40% 2 会员登录与注册 30% 3 订单管理 30% 表1-3成员分工表 2系统需求分析 2.1功能需求 本电子商城分为前后台两部分,前台主要包括非会员和会员用户,后台分为商品管理员、订单管理员、会员管理员和系统管理员。在系统中依据用户的权限执行相应的功能。 2.1.1前台页面功能 (1) 注册功能。顾客首先要注册为网上商城的用户。注册时要填写登录用户名、密码、真实姓名、身份证、联系电子信箱等信息。 (2) 选择产品功能。顾客浏览网上商城,将自己需求的产品放入到购物车中,可连续添加商品。 (3) 管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。 (4) 订单功能。顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作。 2.1.2后台管理功能 (1)商品管理:管理员可以添加、修改、删除商品。 (2)会员管理:可以回复或解答顾客在留言板找到的问题。 (3)订单管理:查看、受理订单。 2.2性能需求 操作系统:Windows 7或以上版本 数据库:Mysql 开发工具与语言:MyEclipse 10 服务器可以是:Tomcat7.0 数据库连接驱动:JDBC 3系统设计 3.1系统总体设计 本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。后实现对前台功能信息的管理,后台用户主要分为商品管理员、会员管理、订单管理、系统维护员,不同的管理实现不同的功能。根据需求本系统可分为如下两个模块: (1)购物模块:顾客在线注册、购物、提交订单、付款等操作; (2)后台管理模块:产品的添加、删除、查询、订单的管理、留言板的回复、已注册用户的管理等。其系统功能模块图如图3-1: 图3-1系统功能模块图 3.2系统详细设计 为了更加清晰的表达系统的业务功能模块,下面给出了本系统的业务流程图。其中包括购物模块和后台管理模块。 (1)后台管理模块如图3-2: 图3-2后台管理流程图 (2)购物模块如图3-3: 图3-3购物模块流程图 3.3系统数据库设计 本系统数据库开发主要基于Mysql6.0数据库管理工具,包括8个数据库表如3-3所示: 表名 解释 admin 管理员表 cart 购物车表 cartselectedmer 购物车选购记录表 member 会员表 merchandise 商品表 orders 订单表 cotegory 商品分类表 comment 会员级别表 表3-3数据表清单 4系统实现 依据架构思想,将开发类主要分为action、bean、dao、service逻辑包。action包含所有的控制层类,bean包含所有领域对象及相应的ORM映射文件,dao包含所有的持久层抽象类,service包含所有业务层类。另一方面根据系统开发所需建立filter(过滤器)包、listener(监听器)包、tool(工具)包。 整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。 4.1系统时序图 时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。以下列出了本商城中的登录时序图与购物时序图,其它功能时序图与其两者基本相似,只是处理的对象不同,故此不在赘述。 图4-1登录时序图 图4-2: 购物时序图 (1)商品信息模块:本模块主要用来显示、查询和商品评论的功能。主要涉及的类和方法如下类图。其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在模块中不再重复介绍。另一方面各模块各层之间类的关系也相同。 (2)会员模块:在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过Json进行数据转换,前台通过Ajax接收数据。系统目录如图4-3: 图4-3系统目录图 4.2具体模块实现 电子商城主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。 4.2.1注册模块实现 注册模块功能主要为商城的游客(即系统的普通浏览者)而设计,商城游客在浏览了商城的商品信息后,如果要购买商品,必须首先注册成为商城系统的客户,然后再登录成功后才能进行购买。在注册模块需要用户输入登陆账号、密码、真实姓名、联系电话、联系住址、邮件编码、电子邮件信息。其中登录账号、密码、是必填项,有JavaScript验证,如果不进行输入,而提交注册信息会有错误提示。该模块的页面效果如图4-4所示。 图4-4注册页面效果 该模块的代码实现过程是:首先使用request对象获取用户提交的数据,然后根据注册用户名查询数据库,如果存在该用户,则提示用户重新注册用户名,如果不存在则进行数据库插入操作,并提示注册成功。该流程代码如下所示: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); User user=new User(); user.setPassword(password); user.setUsername(username); if(user.existUser()) request.getRequestDispatcher("error.jsp").forward(request, response); else if(user.registUser()) request.getRequestDispatcher("success.jsp").forward(request, response); else request.getRequestDispatcher("error.jsp").forward(request, response); } 4.2.2商品信息模块: 本模块主要用来显示、查询和商品评论的功能。主要涉及的类和方法如下类图。其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在各模块中不再重复介绍。另一方面各模块各层之间类的关系也大致相同。 类名 含义 MerchantableAction 作为其控制层内容,调用相应的业务方法 HeadService 业务层抽象类,其实现类中包含相应的业务方法 MerchantableDAO 包含相应的持久层方法 表4-2商品模块主要应用类 方法 含义 showByType() 调用业务层方法按类别显示商品 showById() 调用业务层方法显示某种商品 research() 调用业务层方法查询商品 showAllMer() 调用业务层方法显示所有商品 deleteMer() 调用业务层方法删除商品 updateMer() 调用业务层方法修改商品信息 saveMer() 调用业务层方法保存商品信息 表4-3 MerchantableAction类 方法 含义 findById() 调用持久层方法按商品编号查询商品 findByType() 调用持久层方法按种类查询商品 researchMer() 按条件查询商品 deleteMer() 删除商品 updateMer() 修改商品 saveMer() 保存商品 表4-4HeadService 方法 含义 findAllByKeyword() 按关键字查询所有商品 findByTypes() 按各类查询商品 findById() 按商品编号查询商品 delete() 删除商品 findAll() 查询所有商品 saveOrUpdate() 保存或修改商品 findByNum() 依据数量查询 findPartByTyps() 依据种类查询部分商品 表4-5 MerchantableDAO类 4.2.3会员模块: 在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过Json进行数据转换,前台通过Ajax接收数据。 类名 含义 LoginAction 普通形式的控制器,调用相应的业务层方法 LoginJsonAction Ajax提交时使用的控制器 UserService 业务层类,包含各种相应的业务处理方法 MemberDAO 包含相应的持久层方法 表4-6 会员模块主要应用类 方法 含义 modifyPwd() 调用业务层方法修改会员密码 modifyAddress() 调用业务层方法修改会员地址等信息 regist() 调用业务层方法注册 showMem() 调用业务层方法后台显示所有会员 delMem() 调用业务层方法删除会员 表4-12 LoginAction类 方法 含义 execute() 调用业务层方法会员登录校验 表4-7 LoginJsonAction类 方法 含义 modifyPwd() 修改会员密码 modifyAddress() 修改会员地址等信息 save() 保存会员 delMem() 删除会员 表4-8 UserService类 方法 含义 findByNameAndPwd() 按用户名和密码查询用户 saveOrUpdate() 保存或修改会员信息 findAll() 查询所有会员 delete() 删除会员 表4-9 MemberDAO类 4.2.4购物车模块: 同上面的会员模板,在此模块中也有两个控制类CartAction和CartJsonAction。 类名 含义 CartAction 普通形式的控制器,调用相应的业务层方法 CartJsonAction Ajax提交时使用的控制器 HeadService 业务层类,包含各种相应的业务处理方法 CartDAO 包含相应的持久层方法 表4-10 购物车模块主要应用类 方法 含义 execute() 调用业务层方法查询会员相应的购物车 update() 调用业务层方法修改购物车 delete() 调用业务层方法删除购物车 表4-11 CartAction类 方法 含义 add() 添加商品到购物车 表4-12 CartJsonAction类 方法 含义 findCartByMember() 依据会员查询相应的购物车 updateCart() 修改购物车 deleteCart() 删除购物车中的商品 addMerToCart() 将商品加入购物车 表4-13 HeadService类 方法 含义 findByMember() 依据会员查询相应的购物车 updateCart() 修改购物车 delete() 删除购物车中的商品 saveCart() 将商品加入购物车 表4-14 CartDAO类 4.2.5订单模块 类名 含义 OrderAction 控制器调用相应的业务层方法 HeadService 业务层类,包含各种相应的业务处理方法 OrderDAO 包含相应的持久层方法 表4-15 订单模块主要应用类 方法 含义 execute() 调用业务层方法显示订单 addOrder() 调用业务层方法添加 historyOrder() 调用业务层方查看历史订单 modifyOrder() 调用业务层方法进入修改订单 deleteOrder() 调用业务层方法删除订单 showOrders() 调用业务层方法显示所有订单 submit() 调用业务层方法确认定单、发货 表4-16 OrderAction类 方法 含义 addOrder() 添加订单 findHistoryOrder() 查寻历史订单 deleteOrde 删除订单 updateOrders() 修改订单 表4-17 HeadService类 方法 含义 findById() 据编号查询订单 findHistoryOrder() 查寻历史订单 delete() 删除订单 saveOrUpdate() 保存或修改订单 表4-18 OrderDAO类 4.2.6商品类别模块: 类名 含义 TypesAction 控制器调用相应的业务层方法 HeadService 业务层类,包含各种相应的业务处理方法 TypesDAO 包含相应的持久层方法 表4-19 商品类别模板应用类 方法 含义 getAllType() 调用业务层方法获取类别 deleteType() 调用业务层方法删除 addType() 调用业务层方法添加种类 updateType() 调用业务层方法修改种类 recommend() 调用业务层方法推荐某类商品到首页 cancelRecommend() 调用业务层方法取消推荐 表4-20 TypesAction类 方法 含义 findByReCommend 查询推荐的商品 findAllTypes() 查询所有类别 deleteType() 删除类别 saveType() 保存类别 updateType() 修改类别 表4-21 HeadService类 方法 含义 findByRecommend() 查询被推荐的类别 findById() 据编号查询所有类别 findAll() 查询所有类别 saveOrUpdate() 保存或修改类别 delete() 删除类别 表4-22 TypesDAO类 4.2.7后台管理员模块: 类名 含义 AdminAction 控制器调用相应的业务层方法 UserService 业务层类,包含各种相应的业务处理方法 AdminDAO 包含相应的持久层方法 表4-23 后台管理员主要应用类 方法 含义 valAdmin() 调用业务层方法校验用户 save() 调用业务层保存管理员 update() 调用业务层方法修改管理员权限 delete() 调用业务层方法删除管理员 modifyPwd() 调用业务层修改管理员密码 exit() 注销 表4-24 AdminAction类 方法 含义 validateAdmin() 校验用户 saveAdmin() 保存管理员 updateAdmin() 修改管理员 delAdmin() 删除管理员 表4-25 UserService类 方法 含义 findAdminByNameAndPwd 据用户名与密码查询用户 saveOrUpdate() 保存或保存管理员 Delete() 删除管理员 findById() 依据编号查询管理员 表4-26 AdminDAO类 5系统测试 5.1前台页面 图5-1前台页面效果图 图5-2新品上架页面图 图5-3普通游客查看购物车页面 图5-4会员注册页面 图5-5会员登录购物车页面 5-6会员订单详情页面 5.2后台页面图 5.7后台页面 5-8会员管理页面 5-9会员级别管理 5-10商品分类管理 5-11商品管理 5-12订单管理 5-13系统用户管理 5-14后台管理员登陆页面 6问题总结 通过本次课程设计我们加深了对JavaEE5开发的思想的理解,对SSH三大框架的整合开发有了进一步的熟悉,对团队之间合作的重要性都有了共识。从开发中遇到的问题也让我们发现要将学到的知识很好的应用到实际开发中,还需要不断的努力。让我们明白到只有实践应用才能很好的检验我们对知识的掌握程度。 在本项目的开发中遇到了很多的问题,有从前台页面在不同浏览器中不兼容问题到后台数据库设计问题。在遇到这些问题时我们一直坚持不懈,通过在网上查询资料、同学间交流、求助老师等途径,我们还是解决了许多的问题。在解问题的过程中也让我们发现,一个项目有一个好的架构是非常重要的,当遇到问题时我们能从这个好的架构中更迅速的发现并解决问题,这对项目而言就有了较高的可维护性。同时我们通过本次课程设计从中也收获到了许多快乐,体会到了编程的乐趣。 在课程设计完成之际,我们首先要向指导杨新艳老师表示最真挚的谢意。杨老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我们收益匪浅。无论在理论上还是在实践中,都给与我们很大的帮助,使我得到不少的提高,这对于我们以后的工作和学习都是一种巨大的帮助,感谢她耐心的辅导。同时还要感谢各位同学给予我们的帮助,感谢这个团队的协同合作,正是有了这些帮助才使得我们能够顺利的完成这次的课程设计。 由于我们的学识有限,加之时间比较仓促,可能存在某些不足之处,真诚的欢迎老师、同学提出宝贵的意见,我们将认真听取、改正努力提高自己。 20展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




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



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4657448.html