资源描述
.wd.南京晓庄学院?电子商务网站开发与设计?课程设计报告题 目:B-C电子商城系统的设计与实现姓 名: 沈国涛学 号: 10130211班 级: 10网络工程指导教师: 王洁完成时间2013/6/25 成 绩:数学与信息技术学院2013年6月摘要随着网络的普及和其技术的日趋成熟,在世界范围内,作为一种新的经济形态,电子商务将在日常生活中扮演越来越重要的角色,在采购供给链条所构成的经济活动中,电子商务将不仅仅承当辅助渠道的角色,更将成为一种独立的产业,在整个经济构造中,占据越来越重要的地位。网上购物也逐渐成为一种趋势,这对电子商场的开展起到了很在的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进展分析,表达了本电子商城的设计与实现过程,并对其总结。工程主要应分层架构思想,通过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-commerce 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 position. 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, 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, adapt 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 模块功能实现和关键代码说明93.3.2 分层构造和文件调用关系103.4 查看订单模块实现113.4.1 模块功能实现和关键代码说明113.4.2 分层构造和文件调用关系114 系统运行结果135 课程设计总结16诚欣网上商城网站的设计与实现1 引言1.1 系统开发背景随着计算机的高度普及和网络技术的飞速开展,网上购物已成为新兴的购物方式,网购已经正在改变着我们传统的消费行为,网上购物迅猛开展,导致电子商城大量的涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。 1.2 系统开发的目的和意义随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城为前台局部,前台主要实现会员的网上购物业务流程、用户注册、用户资料修改。本商城主要利用J2EE的框架技术进展开发,有很强的安全性、可靠性、可扩展性。基于时间原因,只实现了前台功能,就整体功能而言, 根本能满足 根本的网上购物需求,相信一定能让用户感到便捷、快速,让企业管理、维护更简单。1.3 完成的主要工作实现了特价和畅销模块、查看订单模块、会员资料修改模块。2 需求分析和总体设计2.1需求分析与设计思路2.1.1需求分析和设计思路分析网站的特点,对所完成模块的功能需求和设计思路进展总体介绍,并对模块的包构造和文件构造进展说明。在互联网日益流行的今天,网络已经变得越来越重要,而在网络这个大家庭里,网上购物那么是一个热点,网上购物商城的出现,给消费者的消费观念带来了重要的变化。功能强大的购物网站就成了大家一致的选择。根据需求分析本系统主要包括以下功能模块:登录模块、商品显示模块、购物车模块、订单管理模块、账户注册和修改模块。商品显示模块:特价、畅销模块:在主页面显示特价商品和畅销商品。订单管理模块:订单详细信息模块:显示已保存的订单的详细信息。账户注册和修改模块:创立新登录用户,修改已创立的用户的详细信息。系统包构造包名作用org.vo定义系统的POJO类及其映射文件,这些类与数据表一一对应,可使用Hibernate反向工程自动生成。org.dao定义各个类对于数据库增、删、改、查操作的接口。org.daoimpl定义各接口的实现类2.1.2设计方案与技术选择介绍系统中采用的主要方案和技术,重点介绍JSP技术、JDBC技术、JavaBean技术、struts框架、Hibernate框架、MVC模式等。系统开发时主要使用的是MyEclipse软件,并且使用Java语言进展编程。运用了Struts2框架以及hibernate框架进展分层。用MySQL进展数据库的连接。还有采用了Tomcat和JDK作为辅助的工具。1、jsp技术JSPJava Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建设的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示别离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中别离出来。2、jdbc技术JDBCJava Data Base Connectivity,java数据库连接是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。3、JavaBean技术JavaBean是Sun公司为了进入因特网、企业网以及万维网上进展分布式计算的组件构造入口。按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。JavaBean体系构造是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进展构造7。在Java模型中,通过JavaBean可以无限扩大Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。JavaBean具有以下特点:a可以实现代码的重复利用。b易维护性、易使用性、易编写性。c可以在Java的任何平台上工作,不需要重新编译。d可以在内部网或者网络之间进展传输。e可以以其它部件的模式进展工作。JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的别离,使得系统具有更好的强健性和灵活性。4、struts框架Struts是Apache软件组织提供的一项开放源码工程,它为Java Web应用提供了模型-视图-控制器Model-View- Controller,简称MVC框架,尤其适用于开发大型可扩展的Web应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。 Struts为Web 应用提供了一个通用的框架,使得开发人员可以把精力集中在若何解决实际业务问题上。此外, Struts 框架提供了许多供扩展和定制的地方,应用程序可以方便的扩展框架,来更好的适应用户的实际需求。5、Hibernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进展了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。6、MVC模式MVC是 模型(Model),视图(View)和控制Controller)的缩写,其目的实现Web系统的职能分工。其中Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现; View层用于与用户的交互,通常用JSP来实现; Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。2.2 系统构造图电子商城前台新品上市模块特价商品模块畅销商品模块购物车模块查看订单模块用户注册模块资料修改模块查看详单模块用户登录模块收银台结账模块图2.1系统整体框图2.3 系统功能分析用户登录模块:实现用户登录新品上市模块:在首页框架中显示新品列表特价商品模块:在首页框架中显示特价列表畅销商品模块:在首页框架中显示畅销列表购物车模块:显示已点击购置但没结账的商品到收银台结账模块:直接保存当前订单查看订单模块:显示当前订单列表查看详单模块:点击订单号显示详单信息用户注册模块:实现用户注册资料修改模块:实现修改当前用户资料3 详细设计3.1 数据库设计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=new 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();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方法,然后调用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 GoodsDaoImpl();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 query=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.daoimpl包里的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,把得到的结果,保存到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, list2);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 (HibernateException e) / TODO Auto-generated catch blocke.printStackTrace();finallysession.close();return g; order_detail.jsp4 系统运行结果主页面,默认显示新品上市页面:特价商品页面:畅销商品页面:按倒序排列查看订单页面:5 课程设计总结通过本次课程设计,使我更加深刻的了解了这么课程的重要性,由于我们知识有限,这次开发的网站也存在着很多的缺乏,在这次的课程设计中不仅检验了我所学习的知识,也培养了我若何去把握一件事情,若何去做一件事情,又若何完成一件事情在此感谢我们的教师.,教师您严谨细致、一丝不苟的作风一直是我工作、学习中的典范;教师循循善诱的教诲和不拘一格的思路给予我无尽的启迪;这次网站设计的细节和每个数据,都离不开教师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。参考文献1孟彩霞.计算机软件根基M.西安:西安电子科技大学出版社,2003.2缪勇,陈亚辉,李新峰高立辉.JSP网络开发逐步深入M.北京:清华大学出版社,2007.
展开阅读全文