基于BS的网上购书系统的设计与实现毕业论文.doc_第1页
基于BS的网上购书系统的设计与实现毕业论文.doc_第2页
基于BS的网上购书系统的设计与实现毕业论文.doc_第3页
基于BS的网上购书系统的设计与实现毕业论文.doc_第4页
基于BS的网上购书系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中原工学院信息商务学院毕业设计(论文)题 目:基于B/S的网上购书系统的设计与实现专 业:计算机科学与技术班 级:软件092学 号:XXXXXXX学生姓名:XX指导教师:XXX2013年5月25日 LXVI 论文编号: 基于B/S的网上购书系统的设计与实现用户模块及后台管理的设计与实现Design and Implementation of Online Bookstore System Based on B/SDesign and Implementation of User Module and Backstage Management专 业:计算机科学与技术班 级:XXXXX学 号:XXXXXX学生姓名:XXX指导教师:XXXXXX2013年5月25日摘要随着网络的普及,网上购物成为了主流的购物方式,网上购物不仅方便快捷,而且价格还便宜,并且在质量的安全同样也有所保证,这就导致了网上购物变成了主流的购物方式,在网上购书也就是成为了大量读者的首要选择。本论文所研究的课题正是在这样的背景下,利用了数据库、Struts2框架、Hibernate框架等技术实现了基于B/S的网上购书系统。本系统主要分为前台和后台,前台主要是会员的注册、注册验证、会员登录,产品方面包括了产品信息的显示,包括编辑推荐商品、热卖商品、最新上架的产品,购物车模块、收货人地址模块和订单生成模块等。后台的功能是管理员对前台的部分功能的管理,包括管理员登录、商品添加、修改以及删除、会员列表显示、订单列表显示。本文主要介绍了用户模块和后台管理的功能设计和实现。本平台能满足用户的购物需求,购物车功能利用了cookie技术,这样有利于用户的购物车中商品信息的保留,方便用户的下次浏览。数据库选用MySQL数据库管理系统。 关键词:网上购书;Struts2;Hibernate;Cookie;B/SAbstractAs the popularity of online shopping has become a mainstream way to shop, online shopping is not only convenient, but the price is also cheap, and also in terms of quality safety be guaranteed, which led to the online shopping becomes a mainstream way to shop in the online textbook that is to become the first choice of a large number of readers.This thesis research topic is in this context, the use of the database, Struts2 framework, Hibernate framework and other technologies to achieve - based on B / S online bookstore system. The system consists of front and back office, front main member registration, registration verification, member login, products, including the product information is displayed, including the Editors Choice product, best sellers, the latest product shelves, shopping cart module, receiving address of the module and order generation module. Background feature is part of the front desk administrator management functions, including the administrator login items to add, modify, and delete, membership list shows, displays a list of orders. This thesis describes the user module and back office management function design and implementation.The platform can meet the needs of the users shopping, shopping cart functionality utilizes cookie technology, which will help the users shopping cart items of information retention, user next visit. Database uses the MySQL database management system.Key words: Online book; Struts2; Hibernate; Cookie; B / S 目 录摘要IAbstractII第1章 引言11.1 课题背景、目的和意义以及国内外现状11.1.1 课题背景11.1.2 课题目的11.1.3 课题意义11.1.4 国内外现状21.2 系统实现所涉及的技术31.2.1 JavaEE技术31.2.2 JavaBean介绍31.2.3 MVC架构模式41.2.4 JSP与JavaScript41.2.5 Hibernate 框架41.2.6 Struts2 框架51.2.7 CSS层6第2章 需求分析72.1 可行性研究72.1.1 技术可行性72.1.2 经济可行性72.1.3 操作可行性82.2 业务需求分析82.3 用户需求分析82.4 功能需求分析8第3章 系统设计与实现103.1设计思想103.2系统的结构设计103.3数据库设计123.3.1 数据库逻辑设计123.3.2 数据库表关系物理实体图设计123.4模块功能设计133.4.1前台模块设计133.4.2后台模块设计143.4.3 基于接口的代码设计143.5 系统代码实现153.5.1 用户登录的实现153.5.2 注册功能的实现173.5.3 后台管理的实现20第4章 系统运行与测试274.1 软件测试概述274.2 软件测试的目标274.3 系统运行环境284.3.1 系统硬件运行环境284.3.2 系统软件运行环境284.4系统测试与结果284.4.1 用户模块测试294.4.2 后台图书管理测试31第5章 结束语345.1 总结345.2 下一步的工作34第6章 致谢36参考文献37附 录38附录A: 附加表38附录B: 主要源程序42附录C: 软件使用说明书62附录D: 光盘63 III青海民族大学毕业论文第1章 引言随着社会和科技的不断进步,网络正在以一种前所未有的冲击力在影响着人类活动的方方面面,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。例如是在互联网服务业务方面,像电子邮件、搜索引擎、网上银行、在线交易、网络广告、网络新闻、网络游戏等服务业仍然快速的发展着。本系统是基于B/S的网上购书系统,采用了MVC的设计模式,使用到的技术包括Struts2、Hibernate、jQuery等开源框架,并且使用MySQL作为存储数据库。1.1 课题背景、目的和意义以及国内外现状1.1.1 课题背景近年来,随着Internet的迅速崛起,互联网已经成为收集、提供信息的最佳渠道并且在逐步的进入传统的流通领域。于是电子商务应运而生,开始了它的流行旅程。越来越多的商家开始在网上建立购物的渠道,就是网上商店,通过这种方式向消费者展示出一种新的购物理念。同时,由于计算机网络给我们的世界带来的巨大的变化,让网络从人们极少了解的领域来到了全世界平常人的生活中。1.1.2 课题目的在网络发展急速的今天,通过网上购物可以让我们的购物方式变得简单,同时可以通过安全、快捷的方式购买到想要的产品,并且会有便宜的价格。同时商家也可以利用这个平台想消费者展示他们的产品,以吸引大量的消费者去消费。1.1.3 课题意义网上购书系统也称为电子商务平台,在商务的活动中起着举足轻重的作用。电子商务的发展对于一个公司而言,不仅仅意味着一个商业机会,它还意味着一个全新的网络新经济的诞生。我们正在迈向一个拥有数十亿台互联网的世界,在这个时代,信息就意味着财富,电子商务是在Internet开放的网络环境下,基于B/S的应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付等交易方式的一种新型的商业运营模式。电子商务是Internet爆炸式发展的直接产物,是网络技术应用的全新发展方向。Internet本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值,它不仅会改变企业本身的生产、经营、管理活动,而且将影响到真个社会的经济运行和结构。1.1.4 国内外现状当今世界网络、通信和信息技术的发展,Internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代商业企业需要具有不间断地供货能力、不断增长的客户需求和不断增长的全球竞争三大特征,这使得任何一个商业组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。随之出现了日益走入我们生活的网上购物。伴随着Internet的蓬勃发展,网络购物系统作为电子商务的一种形式正以其高效,低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏的生活,使顾客足不出户便可以方便快捷轻松的选购自己喜欢的商品。网上购物系统作为B2B,B2C(Business to Customer),即(企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。从长远来看,企业对消费者的电子商务将最终在电子商务领域占据重要地位。但是由于各种因素的治愈,目前以及比较长的一段时间内,这个层次的业务还只能占比较小的比重。它是以互联网围主要服务提供手段,实现公众消费和提供服务,并保证与其相关的付款方式的电子化,它是随着万维网的出现而迅速发展的,可以将其看作是一种电子化的零售。当今欧美等发达国家电子商务发展迅速,先进的技术服务使得他们国家的生活水平得到了更高层次的提升。中国目前也在赶上电子商务热潮的脚步,政府也积极提倡并且支持电子商务技术的研发,要跟上网络时代的大潮流,电子商务的发展一定不能停滞。一个国家电子商务的发展程度可以反映出一个国家的信息技术水平和科技水平。我国目前正处于持续发展中,相信在不久的未来可以涌现出更多像淘宝、京东等大型交易电子商务。1.2 系统实现所涉及的技术1.2.1 JavaEE技术从整体上讲,JavaEE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的JavaME(Java Platform MicroEdition)、适用于桌面系统的JavaSE和适用于企业级应用的JavaEE。Sun推出JavaEE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。JavaEE是一个标准,而不是一个现成的产品。各个平台开发商按照JavaEE规范分别开发了不同的JavaEE应用服务器,JavaEE应用服务器是JavaEE企业级应用的部署平台。由于它们都遵循了JavaEE规范,因此,使用JavaEE技术开发的企业级应用可以部署在各种JavaEE应用服务器上。本系统中,主要应用到的JavaEE技术有:JSP、接口、JavaBean等;所使用的JavaEE应用服务器为:TomCat 6.0;使用的开发工具为:MyEclipse8.0。 本系统主要使用框架进行开发,使用的有Struts2和Hibernate开源框架。另外还使用了jQuery框架进行网页特效的设计。1.2.2 JavaBean介绍JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。1.2.3 MVC架构模式本系统采用MVC架构模式,即Model(模型)、View(视图)、Controller(控制器)分离设计。这是目前开发的主流设计模式。 Model,即处理事务逻辑的模块,每一种处理一个模块。包括一些实体类entity。View,视图负责页面显示,负责显示Model处理结果给用户,主要实现数据到页面转换过程。主要通过JSP完成。Controller,控制器负责每个请求的分发,把Form数据传递给Model处理,把处理结果的数据传递给View显示。主要通过Struts2框架的action以及配置文件来实现。MVC设计模式将业务逻辑与展现分离开,避免了将业务逻辑与展现混杂在一起带来的显示的不一致性和业务逻辑代码重复的分布在用于展现的代码中。MVC设计模式的层次比较清晰,方便开发者对这三个部分的分工和协作。同时具有很好的扩展性和移植性,更容易维护,同时开发的系统也比较健壮。在MVC的设计思想中,数据在不同层之间的传递是以数值对象的形式进行封装的,这样能提高网络传输效率,更使得维护变得方便。1.2.4 JSP与JavaScript JSP目前已经成为主流的动态网页的开发技术之一。借助JSP技术可以使用HTML或者XML标记来设计和风格化Web页面,网页上一些布局可以通过DIV和CSS来完成。JSP技术无论是在跨平台性、运行效率、企业级软件开发还是商业支持方面都具有很强的优势,从而使其成为目前和未来进行动态网页开发的最佳工具之一。JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言,也叫做小脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中连接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入到标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,是Java与HTML折衷的选择。JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查。1.2.5 Hibernate 框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的工作原理为:(1) 通过Configuration().configure();读取并解析hibernate.cfg.cml文件。(2) 由hibernate.cfg.xml中的读取并解析映射信息(3) 通过config.buildSessionFactory(); /创建SessionFactory(4) sessionFactory.openSession(); /打开Sesssion(5) session.beginTransaction(); /创建事务Transation (6) persistent operate持久化操作(7) session.getTransaction().commit(); /提交事务(8) 关闭Session(9) 关闭SesstionFactoryHibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。而且Hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。1.2.6 Struts2 框架Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。并且通过Struts2可以大大的节省代码的编写量。同时Struts2在体系结构上也有很大的优势。Strutst2的工作原理为:(1) 客户端初始化一个指向Servlet容器(例如Tomcat)的请求。(2) 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助。(3) 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action。(4) 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。(5) ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。(6) ActionProxy创建一个ActionInvocation的实例。(7) ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。(8) 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper。1.2.7 CSS层CSS 层叠样式表(Cascading Style Sheet)也叫层叠样式表单,是一系列格式规则,它们控制网页内容的外观。使用CSS可以非常灵活并更好地控制具体的页面外观,从精确的布局定位到特定的字体和样式。并能极大的方便网页制作的工作。CSS的特点在于,结构和样式分离的方式便于后期的维护和改版,样式定义可以精确到像素的级别,而且可以使用多套的样式,是网页有任意样式的切换效果。第2章 需求分析随着中国经济的高速发展发生了巨大的变化,专做营销的中小企业随着人们的个人消费水平的增长迅速成长起来,但是同时也带来了这一行业激烈的竞争。通用电子商务平台的设计是为了让更多的企业拥有自己的网上交易系统,扩展他们的经营模式。作为一个商业性质的电子商务平台,系统必须满足企业的业务要求,与企业的商业活动真正的接轨,形成服务一体化。2.1 可行性研究在系统的开发前期对系统进行可行性分析是十分必要的一个环节,这对于保证资源的合理使用,避免浪费是十分必要的,也是项目一旦开始以后能顺利进行的必要保证。可行性是指在当前情况下,我们论证研制开发这个信息系统是否有必要,是否具备必要的条件。可行性的含义不仅包括可能性,还包括必要性,合理性。信息系统的建设是一项投资大,时间长的复杂工程,可行性研究更为必要,更复杂,也更困难。2.1.1 技术可行性开发一个中小型的网上购书系统,涉及到的技术问题不会太多,主要用到的技术就是Java技术、Struts2和Hibernate框架等;用的开发工具是:MyEclipse8.0,中间要运行的容器是: Tomcat6.0,还要用到MySQL数据库。制作网页的时候可以借助Dreamweaver来进行编写和修改,因为这个软件有提醒功能,可以更好地理解和编写。这些都是我们学习Java的一些常用开发环境,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。所以从技术方面来说,网上购书系统是可以实现的。2.1.2 经济可行性经济可行性即成本效益分析,评估项目的开发成本,估算开发成本是否会超过项目预期的全部利润。网上商城在经济上有以下几个突出的优势:(1)资金投资少,回收快,而且无所谓存货,所以特别适合小商店和个人在网上创业;(2)销售时间不受限制,无需专人看守,却可以时时刻刻营业;(3)销售地点不受限制,小商店也可做大生意。另外,网上商店人气旺,网上客流量比较多,只要是商品有特色,经营得法,电子商城每天将为企业额外带来成千上万的客户,大大增加了销售收入。2.1.3 操作可行性网上购书系统层次清晰、结构分工明确,利于实现对系统的权限控制。根据网上购物的特点,设计界面简单清晰、操作简便,易于操作,可满足顾客浏览商品及选购的功能需求,管理员可以实现对商品的管理。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充等等。2.2 业务需求分析网站的制作已经不单单是把企业想要表达的内容摆放在网站上那么简单,当今的网站设计包含了更多的设计元素,给予浏览者更多的视觉享受。现在企业营销商需要用一些更新颖更有效的方式增强竞争力。建设一个宣传自身商品形象的电子商务营销模式的网站是一种有效的方法。另外,通过电子商务网站,广阔自己的营销方式和市场,能够帮助企业营销商从鱼龙混杂的市场中脱颖而出,完善企业销售与服务的环节,最终提升企业的价值与经济效益。同时,系统总体的流程必须合理规范,无逻辑错误。数据库必须设计合理,数据的存储一定要安全化。2.3 用户需求分析这个网站以上面的业务需求为基础,进一步提出网站需要完成的以下任务:网站需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各种类别的图书及其详细信息;由于消费者的需求在增长和变化,商城在面对面销售的基础上也要随之发展出相应的服务。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。也需要定期更新现有商品的详细信息和商城动态,对于消费者通过网站提交的各种订单能够进行处理以方便销售。在用户使用方面要考虑到系统界面设计一定要友好,操作安全,服务方便快捷。2.4 功能需求分析根据上面的需求分析,需要设计出网站的前台与后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:前台用户相关功能主要包括: (1)用户注册、注册验证、登录(2)购物车,购物车要实现cookie,可以让用户有很好的体验(3)物品详细页面的生成,分为编辑推荐,热销图书,最新上架(4)个人资料修改(5)个人收获地址的生成和记录(6)生成订单后台管理相关功能主要包括: (1)添加商品(2)查看所有订单(3)查看会员信息(4)修改和删除产品信息将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。第3章 系统设计与实现根据需求分析对系统进行设计和实现,系统划分为前台和后台,本文中的前台,包括了用户注册、注册验证、登录等模块。后台包括了会员信息的列表显示,添加新书、产品的修改和删除以及订单列表的查看。3.1设计思想由于网络是解决由于物理距离造成的信息交流不畅、协商沟通不便的购物瓶颈问题的最佳方式,因此,这个基于B/S模式的电子商务网站实现了由Internet支撑的信息平台,从而实现信息自动化。当此电子商务网站在网上运行后,网站的后台管理人员可以通过登录后台进行图书的的添加、修改、删除、会员列表的查看、订单列表的查看等操作;对于用户来说,可以进行个人信息的修改、浏览商品、购买商品、提交订单等基本操作。总之,每个人根据自己的权限不同,登录到不同的系统页面进行各自的项目操作,进而满足不同的需求。3.2系统的结构设计系统采用了B/S架构,B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(action)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。B/S架构如图3.1所示。Browse浏览器Web服务器数据库服务器图3.1 B/S 结构以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。本系统采用B/S结构原因在与:C/S结构需要复杂专用软件才能实现强大功能,而且成本高,C/S面向固定的用户群,这一点就对电子商务用户的不同地域性就产生了影响,而B/S结构系统维护小,重要的是B/S面向不同的用户群,分散地域,同时B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,间接地可以提高网站的访问量,所以采用B/S结构。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。系统总体结构图,如图3.2所示。订单列表网上购书系统前 台后 台图书显示商品管理会员列表管理员登录用户模块购物车模块订单模块图3.2 系统总体结构图本文主要介绍的系统结构图,如图3.3所示。订单列表网上购书系统前 台后 台用户模块商品管理会员列表管理员登录图3.3 本文系统结构图3.3数据库设计3.3.1 数据库逻辑设计前面章节中提到的多个模块在实现过程中都与数据库有着密切的联系,因此数据库的设计在本系统的开发过程中占有重要地位。1.会员信息包括:会员id、会员邮箱、会员昵称、会员密码、会员积分、邮箱验证状态、邮箱验证码、最后一次登录时间、最后一次的登录IP。详细见附表1.1。2.管理员信息包括:管理员id、管理员账号、管理员密码、管理员姓名。详细见附表1.2。3.图书详细信息包括:图书id、作者、出版社名称、出版时间、图书字数、编辑、总页数、印刷次数、印刷编号、图书编号、作者描述、图书描述。其中本表中的图书id本表中id的值和产品信息表相关联,是一对一的关系,id值不是自动自增,而是根据产品表的id来生成。详细见附表1.3。4.产品信息包括:产品id、产品名称、产品描述、添加时间、实际价格、漫步价格、关键字、是否下架、产品图片。详细见附表1.4。5.订单信息包括:订单id、用户id、订单状态、下单时间、订单描述、订单总价、收货人。详细见附表1.5。6.订单详细信息包括:订单详细信息id、订单id、产品id、产品名称、漫步价格、产品数量、产品价格小计。详细见附表1.6。7.收货地址信息包括:收货地址id、用户id、收货人姓名、收货地址、邮政编码、移动电话、电话。详细见附表1.7。5.图书菜单信息包括:菜单项id、菜单顺序、菜单英文名称、菜单中文名称、菜单描述、所属父类菜单id。详细见附表1.8。6.菜单_产品联系信息包括:表示菜单和产品关系的id、产品id、菜单id。其中id为主键,用来唯一的标识一个菜单产品两者之间的关系,product_id,cat_id都为外键,两者一起用来表示产品属于哪个菜单下面。详细见附表1.9。3.3.2 数据库表关系物理实体图设计数据库表关系物理实体图,如图3.4所示。 图3.4数据库表关系物理实体图实体关系图描述了数据库中各种实体的相互关系。从图3.4可以看出各个表之间存在的关系。正是依赖于这些关系,才能够把不同的表信息连接起来,在操作中保证实体的完整性,可以进行多表间的查询操作等。3.4模块功能设计3.4.1前台模块设计用户模块包括用户注册、注册的验证、用户的登录。用户如果在登录的时候没有账号可以进行注册,注册的页面中的用户名的验证采用了Ajax异步请求进行验证用户名是否可以使用;用户的昵称采用JS和正则表达式进行验证是否为正确格式;用JS和正则表达式验证密码,如果密码不符合规则,则不会让用户进行密码确认的输入,两次密码的判断也是采用了JS判断;注册验证码同样是利用了Ajax的异步请求进行验证。在点击注册时候,如果填写的内容有错误的,则不被允许提交注册信息。用户在注册页面的信息填写完毕之后会跳转到注册验证页面,系统会提供用户一个邮箱的验证码,用户要输入正确的验证码才能注册成功;如果用户未进行注册的验证,在用户登录的时候会自动跳转到注册验证的页面。在用户注册成功之后,可以通过点击链接转到商品的显示页面。用户的登录采用同步验证,用户名和密码输入正确则登录成功,进入商品显示的页面。用户登录成功之后利用session绑定用户,绑定是为了在进行购物车结算的时候对用户是否登录进行判断,如果未登录则跳转到登录页面。3.4.2后台模块设计后台采用了frame进行页面的设计,这样可以让页面看起来比较美观大方,并且使用起来用很强的页面感。在实现后台一些模块功能的同时在页面上添加了动态的时间显示。(1)管理员登录 本系统的管理员不可注册,只能由系统指定生成。登录成功后可以对后台进行操作。(2)商品管理商品管理会显示所有商品的列表,并且可以修改和删除商品的信息;在商品列表显示的页面编写了分页的功能,同时利用jQuery框架进行分页中的一些特效的设计。当管理员需要修改商品信息时,会跳转到商品的修改页面,修改成功后跳转到修改商品的所在页;当产品需要下架的时候,管理员会执行删除的操作。(3)会员列表在会员列表可以查看到漫步会员的信息,包括会员的用户名、真实姓名、用户的积分、邮箱验证是否通过、最后一次的登录时间以及用户的登录IP。同时具有分页功能和一些jQuery特效。(4)订单列表在订单列表页面可以查看到所有订单的详细信息,可以对订单的状态进行跟踪。订单页面也具有分页功能和jQuery特效。3.4.3 基于接口的代码设计数据库与业务逻辑功能代码之间使用接口隔离开,业务层不需要知道DAO层如何查询数据库数据的,DAO层也需要知道业务层是如何处理事务的。这样设计有利于将业务和数据库底层分离开,使开发人员不必受数据库底层的限制,全心全意的去进行业务逻辑开发。其中action是用Struts2以及一些配置文件完成,数据库中数据的操作是通过Hibernate以及配置文件完成。系统软件包结构信息表如表3.1所示。表3.1 系统软件包结构信息表软件包名包描述org.tarena.dang.action公用的actionorg.tarena.dang.action.user用户模块的actionorg.tarena.dang.action.cart购物车某块的actionorg.tarena.dang.action.manage后台管理的actionorg.tarena.dang.action.order订单的actionorg.tarena.dang.action.main前台主页面的actionorg.tarena.dang.daoDAO接口和DAO的实现类org.tarena.dang.pojo实体类org.tarena.dang.serviceService接口和接口的实现org.tarena.dang.util数据库连接、cookie等一些工具类org.terena.dang.bean购物车的beantag自定义的标签test用来测试3.5 系统代码实现漫步网购书系统采用MVC架构模式设计与实现,实现过程中采用迭代开发模式,因此代码实现也具有一定的MVC层次之分和相似性。3.5.1 用户登录的实现登录界面如图3.4所示。 图3.4 登录页面用户登录需要输入邮箱地址和密码,输入完成后通过表单提交的方式,通过Struts2配置文件调用LoginAction,在业务层调用业务方法,通过结合DAO对数据库中数据的操作返回用户输入是否正确,正确则判断用户是否通过了邮箱验证,如果没有通过则跳转到邮箱验证的页面,验证成功后跳转到商品显示页面;如果验证已经通过则直接跳转到商品显示页面。输入信息错误则停留在登录页面,并且显示错误信息,同时将用户绑定在session中,以供在之后的操作中使用。会员登录的相关控制层代码如下:/action中的业务方法,在执行通过配置文件的时候会调用响应action的业务方法public String execute()UserDao userDao = new HibernateUserDao();/根据用户的email地址去查询是否有记录user = userDao.findByEmail(name);/在登录的时候把用户的登录状态绑定到session中session.put(user, user);/当查询的结果为空时,则说明无此用户,返回一个错误的信息if(user = null)linfo = Email地址或密码输入错误,请核对;return error;/在验证完用户的地址之后,要对用户输入的密码进行验证String actPwd = user.getPassword();/如果密码比较为false,则返回错误信息if(!actPwd.equals(EncryptUtil.encryptMD5(password)linfo = Email地址或密码输入错误,请核对;return error;/如果用户的邮箱地址和密码都为正确,就会对用户的邮箱验证状态进行验证,如果未验证则会跳转到验证邮箱的页面,如果已经验证则会跳转到系统的主页面if(user.getIsEmailVerify().equals(N) )email = name;code1 = userDao.findByEmailToCode(email);return nocheck;/登录成功的时候会采用一个用JS实现的提示框来提示用户登录成功log_message = alert(登录成功);request.put(message, log_message);nickName = user.getNickname();/把登录用户的昵称放到session中,方便在主页面的显示session.put(nickName, nickName);session.put(user, user);return success;3.5.2 注册功能的实现会员的注册是要求注册用户填入对应的信息,信息填写无误后才可以跳转到邮箱验证的页面。注册页面如图3.5所示。图3.5 用户注册页面注册页面实现了一个jQuery的特效,就是在上一个输入框获得焦点的时候才会显示第二个输入框。邮箱地址的验证是通过Ajax异步请求验证。首先要输入准确无误的邮箱格式,异步验证中的页面显示,如图3.6所示。图3.6 用户邮箱地址验证中用户地址验证完成后。如图3.7所示。图3.7 用户邮箱地址验证完成用户邮箱地址的验证为发送异步请求进行验证,这样不会对浏览器地址栏的地址发生改变,同时在网页上的视觉效果比较好。异步验证也要通过Struts的配置文件去调用相对应的action,然后调用CheckEmailAction的业务方法,对用户填写的邮箱进行验证,主要代码如下:/定义一个返回的boolean类型的值,如果异步请求的返回值为false,则说明此邮箱地址已经存在,会在页面显示错误的信息,为true则可以使用该地址boolean ok = false;UserDao userDao = new HibernateUserDao();/通过对注册用户所输入的地址在数据库中查询,User user = userDao.findByEmail(email);/如果能查询到结果则返回值为false,反之为trueif(user!=null)ok = false;elseok = true;return ok;当用户输入密码的时候,如果密码不为正确的,则再次输入密码的输入框是不能获得焦点的,如图3.8所示。图3.8 密码输入错误注册的信息全部输入正确之后页面,验证码的验证也是通过Ajax异步请求进行验证,如图3.9所示。图3.9 注册信息填写完成信息填写完全之后点击注册,会跳转到邮箱的验证页面,这时需要输入发送给用户的邮箱验证码才可以注册成功。验证邮箱页面如图3.10所示。图3.10 邮箱验证页面邮箱验证码的生成是通过UUID实现并生成的,代码如下:UUID uuid = UUID.randomUUID();return uuid.toString();如果此时用户没有进行邮箱的验证,而直接退出注册页面的话,在用户登录的时候依然会跳转到邮箱验证的页面。正常情况下,用户输入验证码,点击完成,则注册完成。如图3.11所示。图3.11 注册成功页面点击页面上我的漫步网可以进入商品的显示页面。3.5.3 后台管理的实现后台的管理包括管理员的登录、会员信息列表显示、订单列表显示、添加图书、图书信息的管理。后台登录页面如图3.12所示。图3.12 后台登录页面管理员输入正确的用户名和密码。则会跳转到后台管理的页面,后台管理页面同时会获取到管理员的姓名。如果输入错误,则会停留在登录页面,并且提示错误信息。登录成功的页面如图3.13所示。图3.13 后台管理页面后台

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论