1、资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。南京晓庄学院电子商务网站开发与设计课程设计报告题 目:B-C电子商城系统的设计与实现姓 名: 沈国涛学 号: 10130211班 级: 10网络工程指导教师: 王洁完成时间 /6/25 成 绩: 数学与信息技术学院 6月摘要随着网络的普及和其技术的日趋成熟, 在世界范围内, 作为一种新的经济形态, 电子商务将在日常生活中扮演越来越重要的角色, 在采购供应链条所构成的经济活动中, 电子商务将不但仅承担辅助渠道的角色, 更将成为一种独立的产业, 在整个经济结构中, 占据越来越重要的地位。网上购物也逐渐成为一种趋势, 这对电子商场的发展起到了
2、很在的推进作用。本文主要经过对电子商城的应用环境和主要实现功能进行分析, 叙述了本电子商城的设计与实现过程, 并对其总结。项目主要应分层架构思想, 经过J2EE的struts2框架和hibernate框架相结合来实现。在设计种过中全方位的应用软件工程的开发思想, 因为系统是基于B-C结构, 因此适应范围广阔。关键词: 网上购物, 框架, struts2, hibernateABSTRACTWith the popularity of the network and its technology matures, in the world, as a new economic form, e-c
3、ommerce in daily life will play an increasingly important role in procurement - supply chain composed of economic activity, e-commerce will not only assume the role of auxiliary channels, but will become an independent industry in the whole economic structure, occupy an increasingly important positi
4、on. Online shopping is becoming a trend, which is the development of electronic mall played a role in the promotion. This paper mainly through the electronic mall application environment and the main achievement of functional analysis describes the electronic mall design and implementation process,
5、and its summary. Project ideas should mainly be layered architecture, through the J2EE framework and hibernate framework struts2 combined to achieve. Planted in the design of a full range of applications in software engineering development thinking, because the system is based on the BC structure, a
6、dapt to a broad range.Key words : Online shopping, frames, struts2, hibernate目录1 引言11.1 系统开发背景11.2 系统开发的目的和意义11.3 完成的主要工作12 需求分析和总体设计12.1需求分析与设计思路12.1.1 需求分析和设计思路12.1.2 设计方案与技术选择22.2 系统结构图42.3 系统功能分析53 详细设计53.1 数据库设计53.2 特价商品模块实现73.2.1 模块功能实现和关键代码说明73.2.2 分层结构和文件调用关系83.3 畅销商品块实现93.3.1 模块功能实现和关键代码说明9
7、3.3.2 分层结构和文件调用关系103.4 查看订单模块实现113.4.1 模块功能实现和关键代码说明113.4.2 分层结构和文件调用关系114 系统运行结果135 课程设计总结16诚欣网上商城网站的设计与实现1 引言 1.1 系统开发背景 随着计算机的高度普及和网络技术的飞速发展, 网上购物已成为新兴的购物方式, 网购已经正在改变着我们传统的消费行为, 网上购物迅猛发展, 导致电子商城大量的涌现, 而电子商城的出现不但改变了人们传统的购物方式, 也逐渐的影响着人们的消费观, 一个好的电子商城不但能给客户带来方便, 更能给企业带来巨大的财富。 1.2 系统开发的目的和意义随着信息化技术在生
8、活中的应用越来越广泛, 网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城为前台部分, 前台主要实现会员的网上购物业务流程、 用户注册、 用户资料修改。本商城主要利用J2EE的框架技术进行开发, 有很强的安全性、 可靠性、 可扩展性。基于时间原因, 只实现了前台功能, 就整体功能而言, 基本能满足基本的网上购物需求, 相信一定能让用户感到便捷、 快速, 让企业管理、 维护更简单。1.3 完成的主要工作实现了特价和畅销模块、 查看订单模块、 会员资料修改模块。2 需求分析和总体设计2.1需求分析与设计思路 2.1.1 需求分析和设计思路分析网站的特点, 对所完
9、成模块的功能需求和设计思路进行总体介绍, 并对模块的包结构和文件结构进行说明。在互联网日益流行的今天, 网络已经变得越来越重要, 而在网络这个大家庭里, 网上购物则是一个热点, 网上购物商城的出现, 给消费者的消费观念带来了重要的变化。功能强大的购物网站就成了大家一致的选择。根据需求分析本系统主要包括以下功能模块: 登录模块、 商品显示模块、 购物车模块、 订单管理模块、 账户注册和修改模块。商品显示模块: 特价、 畅销模块: 在主页面显示特价商品和畅销商品。订单管理模块: 订单详细信息模块: 显示已保存的订单的详细信息。账户注册和修改模块: 创立新登录用户, 修改已创立的用户的详细信息。系统
10、包结构包名作用org.vo定义系统的POJO类及其映射文件, 这些类与数据表一一对应, 可使用Hibernate反向工程自动生成。org.dao定义各个类对于数据库增、 删、 改、 查操作的接口。org.daoimpl定义各接口的实现类2.1.2 设计方案与技术选择介绍系统中采用的主要方案和技术, 重点介绍JSP技术、 JDBC技术、 JavaBean技术、 struts框架、 Hibernate框架、 MVC模式等。系统开发时主要使用的是MyEclipse软件, 而且使用Java语言进行编程。运用了Struts2框架以及hibernate框架进行分层。用MySQL进行数据库的连接。还有采用了
11、Tomcat和JDK作为辅助的工具。1、 jsp技术JSP( Java Server Pages)是由Sun Microsystems公司倡导、 许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术, 它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag), 从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的, 既能在Linux下运行, 也能在其它操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets, 来封装产生动态网页的处理逻辑。网页还能经过tags
12、和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离, 支持可重用的基于组件的设计, 使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术, 它的主要目的是将表示逻辑从Servlet中分离出来。2、 jdbc技术JDBC( Java Data Base Connectivity,java数据库连接) 是一种用于执行SQL语句的Java API, 能够为多种关系数据库提供统一访问, 它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API, 据此能够构建更高级的工具
13、和接口, 使数据库开发人员能够用纯 Java API 编写数据库应用程序, 同时, JDBC也是个商标名。3、 JavaBean技术JavaBean是Sun公司为了进入因特网、 企业网以及万维网上进行分布式计算的组件结构入口。按照Sun公司的定义, JavaBean是一个可重复使用的软件部件。JavaBean体系结构是第一个全面地基于组件的标准模型之一, 该组件是Java类, 这些类遵循一个接口格式, 以便于使方法命名、 底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造7。在Java模型中, 经过JavaBean能够无限扩充Java程序的功能, 经过JavaBe
14、an的组合能够快速生成新的应用程序。JavaBean具有以下特点: a) 能够实现代码的重复利用。b) 易维护性、 易使用性、 易编写性。c) 能够在Java的任何平台上工作, 不需要重新编译。d) 能够在内部网或者网络之间进行传输。e) 能够以其它部件的模式进行工作。JavaBean在JSP程序中常见来封装事务逻辑、 数据库操作等, 能够很好的实现业务逻辑和前台程序的分离, 使得系统具有更好的健壮性和灵活性。4、 struts框架Struts是Apache软件组织提供的一项开放源码项目, 它为Java Web应用提供了模型-视图-控制器( Model-View- Controller, 简称
15、MVC) 框架, 特别适用于开发大型可扩展的Web应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。 Struts为Web 应用提供了一个通用的框架, 使得开发人员能够把精力集中在如何解决实际业务问题上。另外, Struts 框架提供了许多供扩展和定制的地方, 应用程序能够方便的扩展框架, 来更好的适应用户的实际需求。5、 Hibernate框架Hibernate是一个开放源代码的对象关系映射框架, 它对JDBC进行了非常轻量级的对象封装, 使得Java程序员能够随心所欲的使用对象编程思维来操纵数据库。 Hibernate能够应用在任何使用JDBC的场合, 既能够在Java的
16、客户端程序使用, 也能够在Servlet/JSP的Web应用中使用, 最具革命意义的是, Hibernate能够在应用EJB的J2EE架构中取代CMP, 完成数据持久化的重任。6、 、 MVC模式MVC是 模型(Model),视图(View)和控制( Controller)的缩写, 其目的实现Web系统的职能分工。其中Model层实现系统中的业务逻辑, 一般能够用JavaBean或EJB来实现; View层用于与用户的交互, 一般见JSP来实现; Controller层是Model与View之间沟通的桥梁, 它能够分派用户的请求并选择恰当的视图以用于显示, 同时它也能够解释用户的输入并将它们映
17、射为模型层可执行的操作。2.2 系统结构图 电子商城前台新品上市模块特价商品模块畅销商品模块购物车模块查看订单模块用户注册模块资料修改模块查看详单模块用户登录模块收银台结账模块图2.1 系统整体框图2.3 系统功能分析用户登录模块: 实现用户登录新品上市模块: 在首页框架中显示新品列表特价商品模块: 在首页框架中显示特价列表畅销商品模块: 在首页框架中显示畅销列表购物车模块: 显示已点击购买但没结账的商品到收银台结账模块: 直接保存当前订单查看订单模块: 显示当前订单列表查看详单模块: 点击订单号显示详单信息用户注册模块: 实现用户注册资料修改模块: 实现修改当前用户资料3 详细设计3.1 数
18、据库设计member表( 会员表) supertype表(商品大分类表)subtype表( 商品小分类表) goods表( 商品信息表) order表( 订单信息表) manager表( 管理员信息表) 3.2 特价商品模块实现3.2.1 模块功能实现和关键代码说明Begin调用org.action包下GoodsAction里getSaleGoods方法 返回GoodsAction查询数据库显示saleGoods.jspend图3.1 特价商品模块流程图代码如下: public String getSaleGoods() throws ExceptionGoodsDaoImpl gdao=ne
19、w GoodsDaoImpl();ArrayList saleGoods=(ArrayList)gdao.findSaleGoods();Map request=(Map)ActionContext.getContext().get(request);request.put(saleGoods, saleGoods);return success;public List findSaleGoods() Session session=null;ArrayList al=new ArrayList();try session=HibernateSessionFactory.getSession(
20、);Query query=session.createQuery(from Goods where sale=1);al=(ArrayList)query.list(); catch (HibernateException e) / TODO Auto-generated catch blocke.printStackTrace();finallysession.close();return al; saleGoods.jsp 3.2.2 分层结构和文件调用关系先由JSP页面发出请求调用org.action包下saleGoodsAction, 调用里面的 getSaleGoods方法, 然后
21、调用org.daoimpl包里的findSaleGoods方法, 查询数据库, 查到特价商品的列表, 保存进requese对象的saleGoods变量里, 然后经过调用取出其中的值, 显示到主页面。3.3 畅销商品块实现3.3.1 模块功能实现和关键代码说明Begin调用org.action包下GoodsAction里gethitGoods方法 返回GoodsAction查询数据库显示hitGoods.jspend图3.1 畅销商品模块流程图代码如下: public String getHitGoods() throws ExceptionGoodsDaoImpl gdao=new Goods
22、DaoImpl();ArrayList hitGoods=(ArrayList)gdao.findHitGoods();Map request=(Map)ActionContext.getContext().get(request);request.put(hitGoods, hitGoods);return success;public List findHitGoods() Session session=null;ArrayList al=new ArrayList();try session=HibernateSessionFactory.getSession();Query quer
23、y=session.createQuery(from Goods order by id desc);al=(ArrayList)query.list(); catch (HibernateException e) / TODO Auto-generated catch blocke.printStackTrace();finallysession.close();return al; hitGoods.jsp 3.3.2 分层结构和文件调用关系先由JSP页面发出请求调用org.action包下hitGoodsAction, 调用里面的 getHitGoods方法, 然后调用org.daoim
24、pl包里的findHitGoods方法, 查询数据库, 查到特价商品的列表, 保存进requese对象的HitGoods变量里, 然后经过调用取出其中的值, 显示到主页面。3.4 查看订单模块实现3.4.1 模块功能实现和关键代码说明Begin调用org.action包下OrderAction里的findOederById方法 返回OrderAction查询数据库显示order.jspend图3.1 查看订单模块流程图3.4.2 分层结构和文件调用关系先由JSP页面发出请求调用org.action包下的findId方法, findId调用DaoImpl包里的findOrderById, 把得到
25、的结果, 保存到session里取名order1经过orderdetail里取变量得到这个值, 显示到主页面。代码如下: public String findId() throws ExceptionOrderDaoImpl odao=new OrderDaoImpl();List list2=odao.findOrderById(onumber);Ordertable order1=odao.findOrder(onumber);Map request=(Map)ActionContext.getContext().get(request);request.put(orderlist2, l
26、ist2);request.put(order1, order1);return success;public List findOrderById(long id) Session session=null;List g=null;try session=HibernateSessionFactory.getSession();Query query=session.createQuery(from Orderdetail where orderid=?);query.setLong(0,id);/设置第一个问号g=(List)query.list(); catch (HibernateEx
27、ception e) / TODO Auto-generated catch blocke.printStackTrace();finallysession.close();return g; order_detail.jsp4 系统运行结果主页面, 默认显示新品上市页面: 特价商品页面: 畅销商品页面: 按倒序排列查看订单页面: 5 课程设计总结经过本次课程设计, 使我更加深刻的了解了这么课程的重要性, 由于我们知识有限, 这次开发的网站也存在着很多的不足, 在这次的课程设计中不但检验了我所学习的知识, 也培养了我如何去把握一件事情, 如何去做一件事情, 又如何完成一件事情在此感谢我们的老师., 老师您严谨细致、 一丝不苟的作风一直是我工作、 学习中的榜样; 老师循循善诱的教导和不拘一格的思路给予我无尽的启迪; 这次网站设计的细节和每个数据, 都离不开老师您的细心指导。而您开朗的个性和宽容的态度, 帮助我能够很顺利的完成了这次课程设计。参考文献1孟彩霞.计算机软件基础M.西安: 西安电子科技大学出版社, .2缪勇, 陈亚辉, 李新峰高立辉.JSP网络开发逐步深入M.北京: 清华大学出版社, .