书店管理系统论文.doc_第1页
书店管理系统论文.doc_第2页
书店管理系统论文.doc_第3页
书店管理系统论文.doc_第4页
书店管理系统论文.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

毕毕业业设设计计(论论文文) 设计题目:设计题目:网上书店系统设计与实现网上书店系统设计与实现 -订单管理订单管理 专业专业 : 网络工程网络工程 班级班级 : 08-2 班班 设计人设计人 : 赵国伟赵国伟 山东科技大学山东科技大学 2012 年年 6 月月 15 日日 1 摘要摘要 网络的发展,刺激了新技术的诞生。其中 java 技术是比较突出的, 它一出现便立刻引起了人们的关注。java 语言的各种特点:简单的语法、 完全的面向对象的机制、跨平台、完善的技术体系等等使得它在企业应用、 网络的应用程序的开发等诸多领域都占据了主导的地位。因此,java 是 一项非常具有吸引力的先进的技术。 设计主要采用 jsp(java server pages)技术,并综合相关的 java 技术, 数据库技术和软件工程的理论。在整个开发的过程中,需要充分的发挥自 己的能力,包括学习能力、成员间的协作能力和个人独立解决问题的能力。 因此,我们觉得这个项目无论是对我们自己还是作为以后的参考资料,都 十分的有意义。 本文以“网上书店”的制作过程为例,以设计为主,介绍了网上书店的 整体开发技术的考虑和选择、网上书店的框架设计、原型开发及其具体设 计、网站的部分代码开发等内容;以及开发过程中开发工具的使用心得、 编码心得。 关键字:关键字:软件工程,java,jsp,e-r 图,原图 2 abstract with the development of network, stimulate the birth of the new technology. java technology is more prominent, it appeared that immediately attracted attention. the various characteristics: the simple syntax of the java language, fully object-oriented mechanism, cross-platform, improve the technical system and so makes it hold a dominant position in many fields of enterprise applications, network application development. java is a very attractive advanced technology. designed using jsp (java server pages) technology, and integrated related to java technology, database technology and software engineering theory. throughout the development process, need to fully exert their abilities, including learning ability, ability and personal collaboration between members of the independent ability to solve problems. therefore, we think this project is whether our own or as a later reference, are very meaningful. this article introduce how to select the developing technology, the bookstores frame design, prototypes developing and particularly design and the developing of code; besides, including how to use developing tools and what have i learned during the course of develop. in a word , primary on design. key words: software engineering, java server pages, java, prototype 3 目目 录录 第第 1 1 章章 绪论绪论6 1.1 研究的目的和意义 .7 1.2 研究内容及历史形势 .7 1.3 国际当前趋势 .8 1.4 论文组织 .8 第第 2 2 章章 需求分析需求分析9 2.1 系统用户 .9 2.2 系统功能需求 .9 2.3 业务逻辑描述 .10 第第 3 3 章章 相关理论与技术相关理论与技术11 3.1 系统架构 .11 2.1.1 功能结构 11 3.1.2 系统架构 12 3.2 主要实现技术 .12 3.2.1 mvc 简介 12 3.2.2 表现层主要实现技术 13 3.2.3 控制层主要实现技术 14 3.2.4 持久层主要实现技术 16 3.3 数据库设计 .16 第第 4 4 章章 概念结构设计与具体实现概念结构设计与具体实现23 4.1 局部视图 .23 4 4.2 视图集成.24 4.2.1 总体结构 24 4.3 具体实现 .25 4.3.1 订单确认26 4.3.2 填写送货地址 27 4.3.3 提交订单 28 第第 5 5 章章 展示与测试展示与测试30 5.1 展示 .30 5.1.1 首页 .30 5.1.2 用户登录与注册模块 .31 5.1.3 购物车 32 添加图书到购物车.32 购物车商品数量修改.32 购物车删除图书条目33 购物车恢复图书条目33 5.1.4 订单 .34 订单确认.34 填写送货地址.34 5.1.5 图书分类浏览 35 5.1.6 图书详情 36 5.2 测试 .36 5.3.1 测试概述 .36 5.3.2 测试用例 .36 5.3.3 测试结果 37 5 第第 6 6 章章 结论结论38 致谢致谢39 参考文献参考文献.40 附录附录41 6 第第 1 章章 绪论绪论 1.1 研究的目的和意义研究的目的和意义 在计算机日益繁盛的今天,为传统的书店打造一个新的销售平台。本 系统希望通过电子信息化的手段对书店的进、存、销等环节进行管理,以 达到人力与设备费用的减少,服务能力的提高,管理信息服务的改进,工 作人员利用率的提高等目标。 internet 的发展,为改变传统的商业运作模式提供了一种技术上的可行 性的方案: 利用 internet 的技术和协议,建立各种企业内部网 intranet, 企业外部网 extranet,通 过廉价的通讯手段,将买家与卖家、厂商和合作 伙伴紧密结合在了一起,消除时间与空 间带来的障碍,从而大大的节约 了交易成本,扩大了交易范围。而在实际的生活中,这 种方案已经被广 泛的运用到了实际的商业活动中了,这种交易模式为:电子商务。 当今 比较流行的网上书店系统国外有“卓越”,国内有“当当” 。它们都是相当优 秀 的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习 参考他们的思想, 了解和熟悉整个网站的开发流程及完整的电子商务网 站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉 到许多技术上的问题,如:动态网页制 作技术的,后台数据库的设计和 管理,通过实际的制作个网站,可以避免纸上谈兵,在 实践中掌握上述 技术的使用。 目前,网络正以一种前所未有的冲击力在影响着人类的活 动,包括人类的生产和日 常生活。网络的诞生和发展,颠覆了传统的信 息传播方式,冲破了存在于传统交流方式 中时间和空间的种种壁垒,极 大地改变了人类从物质到精神、从形式到内容、从生产到 生活的各种活 动,并且给人类带来了新的机遇和挑战。 电子商务将成为 21 世纪网络 发展的主流。国内企业在纷纷加入到阿里巴巴等一系列 大型电子商务网 7 站,通过网络进行 b2b(企业对企业)的网上交易之后,也充分认识到网 络交易将成为未来商品交易的重要组成部分,在建立企业宣传网络的同时, 也逐步扩 大企业自身的网络销售渠道,建立自己的电子商务网站,完成 从 b2b 到 b2c(企业对个人)同时进行网络交易的过度,大大提高了企 业网络交易的数量和金额。 而本次毕业设计的任务是构建一个电子商务 网站,采用的主要技术是基于服务器端的 jsp、开源 mvc 框架 struts2 和 hibernate,以及网页编程语言 html、css。 jsp 是 java server page 的缩写,是由 sun microsystems 公司倡导、许多公司参 与建立一种动态 网页技术标准,它在动态网页的建设中有强大而特别的功能。jsp 是一 种服务器端 html(或 xml)嵌入 java 代码的脚本语言,是开发 web 动态网站快速而有效的 工具,jsp 的技术的优势: 1.jsp 技术是用 java 语言作为脚本语言的。java 语言是成熟的、强 大的、易扩充的 编程语言。2.高效性与安全性。jsp 在执行前先被编译成 字节码,字节码由 java 虚拟机解释执 行,比源码解释效率高。 3.可维 护性。由于 jsp 技术是一种开放的、跨平台的结构,因此 web 服务器、 平台 及其他组件能很容易升级或切换,且不会影响 jsp 基本的应用程序。 4.稳定性。5.产品的多样性。 目前,在国内 jsp+servlet+jdbc+javabean 目前已经 成为开发电子商务平台的主流技术。随着国内与国际的接轨, jsp 必将成为网站开发技术的首选。 1.2 研究内容研究内容及历史形势及历史形势 设计实现一个 b2c 的网上书店管理系统,为用户提供网上浏览图书, 查看详情,并生成订单进行购买的一系列功能。当前的软件行业已经相当 的发达,软件的“体积”也达到了空前庞大的水平,越来越大的软件就要求 越来越完善的设计和管理方案来支持。制作软件就像建造一座摩天大楼, 地基打得越牢,以后的建设就越容易,要是地基没有打好,以后就容易倒 8 塌。因此,软件在开发前必须做好设计工作,为以后的开发打下基础,以 免开始时的错误导致最后整个软件的崩溃和报废,从而造成很大的经济损 失。 1.3 国际当前趋势国际当前趋势 internet 的发展,为改变传统的商业运作模式提供了一种技术上的可行 性的方案:利用 internet 的技术和协议,建立各种企业内部网(intranet) , 企业外部网(extranet) ,通过廉价的通讯手段,将买家与卖家、厂商和合 作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约 了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛 的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上书店国外有“亚马逊()”,国内有 “当当()”。它们都是相当优秀的电子商务网站,对其他 的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉 整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 1.4 论文组织论文组织 本文分为六个部分:第一部分介绍了的研究内容及其研究的目的和意 义。第二部分对网上书店系统进行需求分析,确定了系统设计重点,明确 了设计思路。第三部分介绍了网上书店系统所涉及的相关技术。第四部分 论述了所设计的网上书店系统,其中包括概念结构设计,逻辑结构设计, 物理结构设计和安全性设计。第五部分介绍了该网上书店系统的实现及测 试。第六部分对整个文档进行了最后的总结。 9 第第 2 章章 需求分析需求分析 现在 internet 上随处可见网上商城、网上等网站,让消费者(在本章 中有时也称为客户)足不出户就可购买到想到的商品,不仅方便了消费者, 也让拥有电子商务网站的企业能及时向广大客户推销产品、构建企业形象、 赢得利润。电子商务系统与传统的面对面的营销方式相比,具有不可比拟 的优势,如销售成本与物流大大降低、信息传输及时等。 2.1 系统用户 使用网上书店系统的用户主要有两种:一种是消费者,可以浏览网上 书店中的书藉信息、进行网上购书;另一种是网站的管理者,可以对网上 书店中的书藉信息进行管理、注册用户进行管理、处理客户的订单。 2.2 系统功能需求 鉴于网上书店系统的两种用户角色的说明,可将系统分为前台和后台。 前台模块主要是针对用户,用户在这里可以进行注册成为会员,会员 有以下一些功能:登陆分类浏览查询信息订购书籍等一系列的操作, 功能简单实用,都有相关的文字及图形界面提示,让用户在最短的时间内 了解本网站,熟悉网站的各项操作。 是 否 图 2-1 浏 览 主 页 面 用 户 是 否 注 册 用 户 登 陆 页 面 购 书 信 息 页 面 用 户 注 册 页 面 10 后台模块主要是针对管理员设计的,管理员在进入管理界面后,可以 对网站的用户和信息进行管理,增删图书信息类别友情链接推荐书籍 信息、管理书籍分类、信息统计书籍信息总数、删除书籍信息等操作。 是 否 图 2-2 2.3 业务逻辑描述 我们的系统“网上书店系统”主要是实现网上选书、购书、产生订单 等功能的系统。 用户登录会员注册:系统的用户登录及身份验证要求、系统用户注册、 验证用户的注册信息。 购物车管理:当客户选择购买某种图书的时候,应该能够将对应图书 信息,例如价格、数量记录到对应的购物车中,并允许添加到购物车中, 当对应购物订单生成后,应该自动清除已生成订单的购物车中的信息 订单处理:选择购买某种图书的时候,应该能够将对应图书信息,例 如价格、数量记录到对应的购物车中,并允许添加到购物车中,当对应购 物订单生成后,以便于网站配送人员依据订单信息进行后续的出货、送货 的处理。 系 统 主 页 面 后 台 登 陆 页 面 判断 用户 名和 密码 后 台 登 陆 页 面 11 第第 3 章章 相关理论与技术相关理论与技术 3.1 系统架构系统架构 2.1.1 功能结构功能结构 网上书店系 统 商品展示 商品预览 商品明细 分类检索 购物车添加商品 删除列表 恢复列表 数量修改 清空购物车 结算 用户管理 用户注册 登录/退出 12 图 3-1 网上书店系统主要包括商品展示、用户管理、购物车三个功能模块。 功能描述: 商品展示:商品预览、商品明细、分类检索 购物车:添加商品、删除列表、恢复列表、数量修改、清空购物 车、结算 用户管理:用户注册、登录、退出 3.1.2 系统架构系统架构 网上书店系统采用 4 层结构,主要包括:表现层、控制层、业务层、 持久层。 表现层:主要负责用户交互和结果显示。 控制层:主要负责系统的访问控制、数据加载和注销,是系统的 核心控制单元。 控制层通过系统描述来组织工作。 业务层:实现了系统的主要业务逻辑,是系统主要的运算单元。 持久层:视线了静态数据和数据库数据的持久化管理,为业务层 提高数据服务,是系统进行数据操作的统一界面。 3.2 主要实现技术主要实现技术 3.2.1 mvc 简介简介 mvc 是 model(模型) view(视图) controller(控制 器)的 缩写,mvc 模式的目的就是实现 web 系统的职能分工。 model 层实现系统中的业务逻辑,通常可以用 javabean 或 ejb 来实现。 view 层用于与用户的交互,通常用 jsp 来实现。 controller 层是 model 与 view 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于 显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。 13 mvc 是一个设计模式,它强制性的使应用程序的输入、处理和输出 分开。使用 mvc 应用程序被分成三个核心部件:模型、视图、控制器。 它们各自处理自己的任务。分层概念 视图是用户看到并与之交互的界面。对老式的 web 应用程序来说, 视图就是由 html 元素组成的界面,在新式的 web 应用程序中,html 依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 macromedia flash 和象 xhtml,xml/xsl,wml 等一些标识语言和 web services. 模型表示企业数据和业务规则。在 mvc 的三个部件中,模型拥有最 多的处理任务。例如它可能用象 ejbs 和 coldfusion components 这样的构 件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格 式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只 需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当 单击 web 页面中的超链接和发送 html 表单时,控制器本身不输出任何 东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求, 然后再确定用哪个视图来显示返回的数据。 mvc 的优点:低耦合性,高重用性和可适用性,快速的部署,可维 护性,有利于软件工程化管理。 3.2.2 表现层主要实现技术表现层主要实现技术 视图层主要实现技术有:jsp+ajax+javascript jsp 技术使用 java 编程语言编写类 xml 的 tags 和 scriptlets,来封装 产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务 端的资源的应用逻辑。jsp 将网页逻辑与网页设计和显示分离,支持可重 14 用的基于组件的设计,使基于 web 的应用程序的开发变得迅速和容易。 web 服务器在遇到访问 jsp 网页的请求时,首先执行其中的程序段,然后 将执行结果连同 jsp 文件中的 html 代码一起返回给客户。插入的 java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的 功能。 jsp 与 javaservlet 一样,是在服务器端执行的,通常返回给客户端的 就是一个 html 文本,因此客户端只要有浏览器就能浏览。 ajax 是一种用于创建更好更快以及交互性更强的 web 应用程序的 技术。通过 ajax,您的 javascript 可使用 javascript 的 xmlhttprequest 对象来直接与服务器进行通信。通过这个对象,您的 javascript 可在不重载页面的情况与 web 服务器交换数据。ajax 在浏 览器与 web 服务器之间使用异步数据传输(http 请求),这样就可使 网页从服务器请求少量的信息,而不是整个页面。ajax 可使因特网应用 程序更小、更快,更友好。 ajax 是一种独立于 web 服务器软件的浏览器技术。 ajax 基于 下列 web 标准: javascript xml html css 在 ajax 中使用的 web 标准已被良好 定义,并被所有的主流浏览器支持。ajax 应用程序独立于浏览器和平台。 web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用 户,它们更易安装及维护,也更易开发。 不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。 通过 ajax,因特网应用程序可以变得更完善,更友好。 3.2.3 控制层主要实现技术控制层主要实现技术 控制主要实现技术有:开源框架 struts2 15 struts 2 是 struts 的下一代产品,struts2 并非继承自 struts1 的构架机 制,而是继承自 webwork,因为 struts2 是对 webwork 的升级而产生的, struts2 吸收了 struts1 和 webwork 两者的优势,从而在稳定性、性能等各 方面都有很好的保证。struts 2 以 webwork 为核心,采用拦截器的机制来 处理用户的请求,这样的设计也使得业务逻辑控制器能够与 servlet api 完 全脱离开,所以 struts 2 可以理解为 webwork 的更新产品。虽然从 struts 1 到 struts 2 有着太大的变化,但是相对于 webwork,struts 2 只有很小的 变化。 struts2 国际化运行机制: 在 struts2 中,可以通过 actioncontext.getcontext().setlocale(locale arg) 设置用户的默认语言。 为了简化设置用户默认语言环境,struts2 提供了一个名为 i18n 的拦截 器(interceptor),并且将其注册在默认的拦截器中(defaultstack)。 i18n 拦截器在执行 action 方法前,自动查找请求中一个名为 request_locale 的参数。如果该参数存在,拦截器就将其作为参数,转换成 locale 对象,并将其设为用户默认的 locale(代表国家/语言环境)。 除此之外,i18n 拦截器还会将上面生成的 locale 对象保存在用户 session 的名为 ww_trans_i18n_locale 的属性中。一旦用户 session 中存在一个名为 ww_trans_i18n_locale 的属性,则该属性指定的 locale 将会作为浏览者的默认 locale。 struts2 框架的大概处理流程如下: 1、加载类(filterdispatcher) 2、读取配置(struts 配置文件中的 action) 3、派发请求(客户端发送请求) 4、调用 action(filterdispatcher 从 struts 配置文件中读取与之相对应 16 的 action ) 5、启用拦截器(webwork 拦截器链自动对请求应用通用功能,如验 证) 6、处理业务(回调 action 的 execute()方法) 7、返回响应(通过 execute 方法将信息返回到 filterdispatcher) 8、查找响应(filterdispatcher 根据配置查找响应的是什么信息如: success、error,将跳转到哪个 jsp 页面) 9、响应用户(jsp-客户浏览器端显示) 10、struts2 标签库(相比 struts1 的标签库,struts2 是大大加强了,对 数据的操作功能很强大) 3.2.4 持久层主要实现技术持久层主要实现技术 持久层主要实现技术有:hibernate 开源框架 hibernate 框架简介: hibernate 是一个开放源代码的对象关系映射框架,它对 jdbc 进行了非常轻量 级的对象封装,使得 java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 hibernate 可以应用在任何使用 jdbc 的场合,既可以在 java 的客户端程序使用,也 可以在 servlet/jsp 的 web 应用中使用,最具革命意义的是,hibernate 可以在应用 ejb 的 j2ee 架构中取代 cmp,完成数据持久化的重任。 3.3 数据库设计数据库设计 (1)数据库系统采用 mysql5.5;设计工具采用 dreamweaver cs3、 编程工具采用 myeclipse 8.6。 本程序数据库涉及到的表格: 该系统涉及到表格信息列表 表格名称数据内容存储方式存储时间存储位置 17 用户信息表用户 id,昵称,注册 邮箱 登录密码,邮箱验 证码等 文件每条数据库 图书信息表书号,作者,出版社,出 版时间,总页数,所 属目录等 文件每笔数据库 图书目录表id,书名,简介,上级 目录等 文件每笔数据库 购物车条目 表 id,订单 id,产品 id,产品名,价格, 数量等 文件每笔数据库 订单表id,用户 id,下单 时间,总价格,收 货人,收货地址, 邮编,联系电话等 文件每条数据库 目录产品中 间表 id,目录 id,产品 id 文件每条数据库 产品表id,产品名,描述, 市场价,当当价, 产品图片等 文件每条数据库 收货地址表id,用户 id,收货 人姓名,收货地址, 邮编,手机,固话 文件每条数据库 18 表 3.1 用户信息表 数据项数据类 型 长度备注keyextra idint12用户 idpriauto_increment emailvarchar50注册邮箱uni nicknamevarchar50用户昵称 passwordvarchar50登录密码 user_integralint12 is_email_verifyboolean邮箱是否 验证 email_verify_c ode varchar50邮箱验证 码 last_login_timebigint20上次登录 时间 last_login_ipvarchar15上次登录 ip 表 3.2 图书信息表 数据项数据类型长度备注keyextra idint12book_idpriauto_increment authorvarchar200作者 publishingvarchar200出版社 publish_timebigint20出版时间 word_numbervarchar15总字数 which_editiovarchar15印刷版本 19 n total_pagevarchar15总页数 print_timeint20印刷时间 isbnvarchar25isbn author_summ ary text作者简介 cataloguetext评价 表 3.3 图书目录表 数据项数据类 型 长度备注keyextra idint12priauto_increment turnint10父目录 en_namevarchar200英文名 namevarchar200目录名称 descriptionvarchar200描述 parent_idint10父目录 id 表 3.4 购物车条目表 数据项数据类型长度备注keyextra idint12priauto_incre ment order_idint10 product_idint10 product_na me varchar100 20 dang_pricedouble当当价 product_nu m int10产品编号 amountdouble剩余数量 表 3.5 订单信息表 数据项数据类型长度备注keyextra idint10priauto_incre ment user_idint10 statusint10订单状态 order_timebigint20下单时间 order_descvarchar100订单描述 total_pricedouble总价 receive_na me varchar100收货人姓名 full_addres s varchar200收货地址 postal_codevarchar8邮编 mobilevarchar20手机 phonevarchar20固话 表 3.6 目录产品中间表 数据项数据类型长度备注keyextra idint12book_idpriauto_ incre 21 ment procuct_idint10产品 id cat_idint10目录 id 表 3.7 产品信息表 数据项数据类型长度备注keyextra idint12priauto_i ncreme nt product_namevarchar100 descriptionvarchar100产品简介 add_timebigint20上架时间 fixed_pricedouble市场价 dang_pricedouble当当价 keywordsvarchar200关键字 has_deletedint1是否已下架 product_picvarchar200产品图片 表 3.8 收货地址表 数据项数据类型长度备注keyextra idint12priauto_inc rement 22 user_idint11 receive_namevarchar20收货人姓名 full_addressvarchar200收货地址 postal_codevarchar8邮编 mobilevarchar15手机 phonevarchar20固话 (2)表间关系与约束图 图 3-2 表间关系与约束图 23 第第 4 4 章章 概念结构设计概念结构设计与具体实现与具体实现 4.1 局部视图局部视图 图 4-1 图书信息 er 图 订单 订单 id 订单状态 用户 id 收货人总价格 下单时间 邮编 收货地址 图 4-2 订单信息 er 图 图书图书图书 id 书名 出版社 出版时间 作者 字数 isbn 手机固话 24 用户 登录密码 用户昵称 用户 id 验证邮箱 邮箱验证 码 已激活 登录时间 登录 ip 图 4-3 用户信息 er 图 4.2 视图集成视图集成 4.2.1 总体结构总体结构 图 4-4 用户登录结构图 25 4.3 具体实现具体实现 本系统主要包括用户注册与登录模块、商品列表和商品明细模块、购 物车管理模块和订单管理四个模块。 本次毕业设计我负责的是网上书店系统的订单管理及其相应的数据库, 首先展示下我的成果图: 图 4-5 订单确认 图 4-6 订单地址 26 4.3.1 订单确认订单确认 用户对购物车中商品进行确认之后,点击“下一步”按钮进入订单确 认页面。 struts2 配置: /web-inf/order/order_info.jsp 业务层代码实现: public class orderinfoaction extends baseaction private list buyitems; private double totaldangprice; private double xiaoji; public string execute() cartservice cart = cartfactory.getccartservice(session); buyitems = cart.getbuyproducts(true); totaldangprice = cart.totalprice(); return success; 持久层代码实现: public list getbuyproducts(boolean buy) / 返回cartitem中符合buy值的对象 list products = new arraylist(); collection items = store.values(); iterator iterator = items.iterator(); while (iterator.hasnext() cartitem item = (cartitem) iterator.next(); if (item.isbuy() = true) products.add(item); return products; 27 public double totalprice() double totalprice = 0; list list = getbuyproducts(true); for (cartitem item : list) totalprice += item.getpro().getdangprice()*item.getnum(); return totalprice; 4.3.2 填写送货地址填写送货地址 用户对订单中商品数量、价格等进行确认后,点击“下一步”按钮进 入填写送货地址页面。 struts2 配置: /web-inf/order/address_form.jsp 进入送货地址页面后,页面自动查找当前用户曾经用过的送货地址, 如果用户的送货地址和收件人不变的话,则不用重新填写,方便了用户。 业务层代码实现: public class addressformaction extends baseaction private user user; private list allusedaddress; public string execute() receiveaddressdao dao = new receiveaddressdaoimpl(); try user = (user)session.get(“user“); allusedaddress = dao. getrecieaddressbyuserid(user.getid(); for(receiveaddress r : allusedaddress) system.out.println(r.getfulladdress(); catch (exception e) 28 e.printstacktrace(); return success; 持久层代码实现: public list getrecieaddressbyuserid (integer userid)throws exception query query = getsession().createquery(“from receiveaddress where userid=?“); query.setparameter(0, userid); list list = query.list(); return list; 4.3.3 提交订单提交订单 struts2 配置:配置: /web-inf/order/order_ok.jsp 业务层代码实现: public class createorderaction extends baseaction private order order; private string orderdesc = “;/orderdesc存放要购买的product 的id private double totalprice; private user user; public string execute() try cartservice cart = cartfactory.getccartservice(session); user = (user)session.get(“user“); totalprice = cart.totalprice(); list buyitems = cart.getbuyproducts(true); /orderdesc = 12/10/5/8/. for(cartitem item : buyitems) orderdesc += item.getpro().getid()+“/“; 29 order.setstatus(constant.notsend); order.setuserid(user.getid(); system.out.println(“user.id:“+user.getid(); order.setordertime(system.currenttimemillis(); order.setorderdesc(orderdesc); order.settotalprice(totalprice); /将order存入表d_order daofactory.getorderdao().save(order); /生成receiveaddress receiveaddress addr = new receiveaddress(); addr.setuserid(user.getid(); addr.setreceivename(order.getreceivename(); addr.setfulladdress(order.getfulladdress(); addr.setpostalcode(order.getpostalcode(); addr.setphone(order.getphone(); addr.setmobile(order.getmobile(); /将receiveaddress存入表 d_receive_address daofactory.getorderdao().save(addr); catch (exception e) e.printstacktrace(); return success; 持久层代码实现: public class orderdaoimpl extends basedao implements orderdao public void save(order order) throws exception transaction tx = getsession().begintransaction(); getsession().save(order); mit(); public void save(receiveaddress receiveaddress) throws exception transaction tx = getsession().begintransaction(); getsession().save(receiveaddress); mit(); 30 第第 5 章章 展示与测试展示与测试 5.1 展示展示 本系统主要包括用户注册与登录模块、商品列表和商品明细模块、购 物车管理模块和订单管理四个模块。下面展示一下该系统的主要界面: 5.1.1 首页首页 图 5.1 网上书店首页 31 5.1.2 用户登录与注册模块用户登录与注册模块 图 5.2 登录界面 图 5.3 注册界面 32 5.1.3 购物车购物车 添加图书到购物车添加图书到购物车 图 5.4 登录界面 购物车商品数量修改购物车商品数量修改 33 购物车删除图书条目购物车删除图书条目 购物车恢复图书条目购物车恢复图书条目 34 5.1.4 订单订单 订单确认订单确认 填写送货地址填写送货地址 35 5.1.5 图书分类浏览图书分类浏览 36 5.1.6 图书图书详情详情 5.2 测试测试 5.3.1 测试概述测试概述 根据项目范围,确定的系统测试范围为:用户登录界面、用户注册界 面、购物车界面、用户查询图书界面、订单信息界面。 测试人员:岳凯、赵国伟、于跃 测试环境:操作系统 os:windows7/windowsxp cpu,内存,硬盘, 自适网卡 5.3.2 测试用例测试用例 37 表 5.1 用户界面用例测试表 项目名称网上书店管理系统 说明测试用户注册、登录、查询图书和购买图书。 测试目的验证:测试信息统计、分页功能及导出文件是否正确 初始条件打开用户登陆界面窗口 步骤 1. 进入注册界面,注册一个新用户 2. 进入登录界面, 输入用户名和密码登录网上书店系 统 3. 进入图书分类浏览界面,查看图书信息,把需要购买 的图书加入购物车然后继续购物。购物完成后进入购物 车界面,对物品数量进行变更、删除和恢复,确认后进 行结算。然后跳转到订单界面,填写好订单信息。最后 礼貌道别界面。此用例到此结束。 期望输出信息统计无误,导出无误,翻页无误 实际输出正确输出,无误 测试状态成功通过测试 5.3.3 测试结果测试结果 表 5.2 测试结果表 序号功能模块测试结论缺陷描述 1用户登录界面通过测试未进行前后台验证 2用户注册界面通过测试无 3图书分类浏览界面通过测试无 4购物车界面通过测试无 5订单界面通过测试未进行前台验证(手机、固话格 式长度是否正确) 38 第第 6 章章 结论结论 这次毕业设计共有大约 4 个多月,在整个毕业设计过程中,学习了 java 技术、jsp 技术、一些数据库知识以及可视化开发工具。在学习相关 的技术的同时,一边摸索,一边进行毕业设计的题目的制作。在 6 月初, 已经初步完成了预先所设计的“网上书店”的原型。通过这次实际开发的机 会,掌握了初步的 jsp 技术和与此相关的 java(主要是操作数据库)技 术。网站原型也基本上达到了所预期的效果。 以往我们曾经有过多次设计的体会,但只是设计一个模块或一个小系 统,而这一次毕业设计是综合所学的管理和计算机的知识来设计一个适合 运行管理的进销存系统软件。要想设计使用户满意,就需要我们付出更多 的努力。我在设计中经常出

温馨提示

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

评论

0/150

提交评论