电子商务系统的设计与实现_第1页
电子商务系统的设计与实现_第2页
电子商务系统的设计与实现_第3页
电子商务系统的设计与实现_第4页
电子商务系统的设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、摘摘 要要 随着社会经济的迅速发展和科学技术的全面进步,尤其是计算机事业的飞速发展, 以计算机与网络技术为基础的信息系统迎来了蓬勃发展的时期。网上购物也作为一种 潮流步入了我们的生活中 。网络购物不仅降低了商场的运营成本,并且也避免了消费 者挑选商品的烦琐过程,使消费者的购物过程变得轻松、快捷、方便,很适合现代人 快节奏的生活,也开辟了一个新的销售方式。 本系统是一个小型的电子商务系统,本网上购物系统是根据现有的网上购物系统 的现状而设计开发的电子商务平台。可以为各类用户提供方便的在线购物环境,符合 目前国内流行的电子商务模式。 该论文主要介绍了网上购物系统的开发背景、前台系统的分析设计与实现

2、,后台 系统的分析设计与实现。用户可以在系统中实现注册、登录、分类查询商品信息、购 物、管理购物车、结账等功能。通过后台管理模块可以实现 对后台商品、订单和系统 的管理功能。 本系统采用 JAVA 开发环境,利用 MVC 的开发模式,以 MySQL 为系统数据库, 以 Tomcat 作为服务器,整个系统操作简便、界面友好、灵活实用。 关键词:关键词:网上购物系统;系统管理;JAVA;MVC;Tomcat;MySQL Keywords: online shopping system; management; JAVA; MVC; Tomcat; MySQL 目目 录录 1 前言 .1 2 系统开

3、发的背景及意义 .2 2.1 系统开发背景 .2 2.2 系统的开发意义 .2 3 系统开发工具的介绍 .4 3.1 MyEclipse 简介 .4 3.2 Servlet 简介 .4 3.3 JSP 简介.4 3.4 Tomcat 简介.5 3.5 MySQL 简介 .5 4 网上购物系统分析 .6 4.1 系统需求和可行性分析 .6 4.1.1 系统的需求分析 .6 4.1.2 系统的可行性分析 .6 4.2 系统设计的总体规则 .7 4.3 系统的主要架构及开发模式 .7 4.3.1 基于 B/S 的体系结构 .8 4.3.2 基于 MVC 的应用开发模型 .8 5 系统的功能和流程分析

4、 .11 5.1 网上商城购物系统基本功能描述 .11 5.2 系统整体布局模块的结构分析 .11 5.3 系统前台功能分析 .12 5.4 系统后台模块功能分析 .13 6 系统功能的具体实现 .15 6.1 系统数据库及表的设计 .15 6.1.1 创建数据库.15 6.1.2 表的创建.16 6.2 用户登录模块 .19 6.3 系统购物模块 .20 6.4 购物车模块 .22 6.5 订单模块 .25 6.6 支付模块 .28 6.7 管理员模块 .29 6.8 后台管理界面 .29 6.9 后台查看编辑已有分类模块 .31 6.10 添加商品分类模块 .32 6.11 后台添加商品模

5、块 .35 6.12 后台查看所有订单模块 .35 7 系统测试及总结 .38 7.1 系统关键部分测试分析 .38 7.2 测试分析总结及说明 .38 7.3 系统的性能分析 .38 8 总结 .40 致 谢 .41 参考文献 .42 1 1 前前言言 目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和 日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流 方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从 生产到生活的各种活动,并且给人类带来了新的机遇和挑战。互联网的迅速发展使电 子商务成为一种潮流和时尚,也是网上购物成为未

6、来的发展趋势。越来越多的商家在 网上建立起商店,向消费者展示出一种新颖的购物理念。 网上购物系统作为电子商务 的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文旨在讨论如何建设 B2C 的网上购物系统。 在美、日等信息化程度较高的国家和地区,网络购物发展速度迅猛,很多美国的 世界级超一流的零售商,也纷纷挤身于网络经商的行列。调查表明:美国的家庭已越 来越习惯于在家中从网上购物。 在我国,网上购物从无到有也不过短短几年时间,但中国网上购物的用户数量却 发展迅速,这说明在中国发展网上购物具有良好的群众基础,网上购物的方便快捷的 优势使网上购物具有巨大的潜在发展优势,网上购物方式日趋被大家

7、接受。在未来的 不久,网上购物必将成为购物消费的主流方式。 2 2 系统开发的背景及意义系统开发的背景及意义 2.12.1 系统开发背景系统开发背景 随着 Internet 的快速发展,人们已经进入了信息时代,Web 已经对商业、工业、银 行、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。许多传统 的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、 电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围广泛的,复 杂的分布式应用正在 Web 环境中出现。网上购物系统就相继的出现,给人们带来了不 少的方便快捷,网上购物系统正在快速向前发展。 国

8、外相关研究情况:美国是网上交易开展较早的国家,在许多领域处于全球领先水 平,成为其他国家开展网上商城的示范,其中网上商城销售涉及的领域十分广泛;网 上商城触及到了各个行业,各种商品和各种服务,发展速度和规模十分迅速。网上商 城正酝酿着巨大商机和挑战。 国内相关研究情况:目前,我国所有行业基本上参与了电子商务。几年来我国的 电信网络设施发展很开,但是,我国毕竟还是发展中国家,对网上商城系统运行所需 要的信息网络基础设施水平和对应于网络经济的社会法律。诚信环境建设等与发达国 家相比还有一定差距。 另一方面,软件开发技术的发展也是电子商务的发展的一个硬性条件。而本次设 计的任务是,构建一个电子商务网

9、站,采用的主要技术是基于服务器端的 JSP、Servlet、Java 的组件 JavaBean,以及网页编程语言 HTML。 2.22.2 系统的开发意义系统的开发意义 当今 Internet 发展趋势下,各种公司和机构都需要进行改造和调整来适应迅速变化 的商务环境,由此,公司系统和网站的开发对公司有很大的意义。公司系统的开发不 仅是公司产品展示和公司信息传递的一个平台,更大一方面也是公司形象展示的一个 平台。系统的完整性、健壮性以及人性化对于一个公司产品销售和公司形象都有很大 的关联作用。 网上购物系统为改变传统的商业运作模式提供了一种技术上的可行性的方案;利 用 Internet 的技术通

10、过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了 一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。 而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这 种交易模式称为电子商务。 当今比较流行的网上购物系统有“淘宝()”和“当当 ()” 。它们都是相当优秀的电子商务网站,对其他的网站提供了良好 的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的 电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页 制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以

11、避免纸上谈兵, 在实践中掌握上述技术的使用。对自己进一步学习和了解网上购物系统具有很大的现 实意义,对自己今后从事的工作都有很大的帮助和促进作用。 3 3 系统开发工具的介绍系统开发工具的介绍 3.13.1 MyEclipseMyEclipse 简介简介 MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench,简称 MyEclipse)是 对 EclipseIDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布以及应用程序 服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括 了完备的编码、调试、测试和发布

12、功能,完整支持 HTML、Struts、JSP、CSS、JavaScript、Spring、SQL、Hibernate。 MyEclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合, MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse 目前支持 Java、Servlet、AJAX、JSP、Struts、Spring、Hibernate、JDBC 数 据库链接工具等多项功能。可以说 MyEclipse 是几乎囊括了目前所有主流开源产品的 专属 Eclipse 开发工具。 3.23.2 ServletS

13、ervlet 简介简介 Servlet 是运行在 Web 服务器或者应用服务器上的 Java 程序。它是一个中间层,负 责接收客户端的请求和连接 HTTP 服务器上的数据库或者应用程序。一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请 求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应, 但通常只用来扩展 Web 服务器的应用程序。 3.33.3 JSPJSP 简介简介 JSP 即 Java Server Page,可以将静态的 HTML 与动态生成的内容混合起来。JSP 既 可以实现前台较好的动

14、态效果,也可以利用 Servlet 实现后台较好的逻辑操作 ,而且 在 JSP 中 HTML 的编写与维护更为简单。JSP 的技术的优势如下: (1)JSP 技术是用 Java 语言作为脚本语言的。Java 语言是成熟的、强大的、易扩 充的编程语言。 (2)高效性与安全性。JSP 在执行前先被编译成字节码,字节码由 Java 虚拟机解 释执行,比源码解释效率高。 (3)可维护性。由于 JSP 技术是一种开放的、跨平台的结构,因此 Web 服务器、 平台及其他组件能很容易升级或切换,且不会影响 JSP 基本的应用程序。 (4)稳定性。目前,JSP 的发展已经是一种较成熟的技术。系统运行稳定,是大

15、 中型电子商务企业的选择,该系统采用 JSP+Servlet+JDBC+JavaBean 进行开发,没有 涉及 SSH 框架的技术,是初级开发者较长采用的一种开发模式。 3.43.4 TomcatTomcat 简介简介 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服 务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML(标准通用标记语言下的一个应用。 )页面的访问请求。 实际上 Tomcat 部分是 Apache 服

16、务器的扩展,但它是独立运行的,所以当你运行 Tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 Tomcat 服务器是在 SUN 公司的开发的一个优秀的 Servlet/JSP 容器。Tomcat 负责 处理客户端请求,把请求传给 Servlet 并把结果返回给客户端。Tomcat 服务器除了能够 运行 Servlet 和 JSP,还提供 Web 服务器的功能。 3.53.5 MySQLMySQL 简介简介 MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体

17、积小、速度快、 总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有 成本而选择了 MySQL 作为网站数据库。 4 4 网上购物系统分析网上购物系统分析 4.14.1 系统需求和可行性分析系统需求和可行性分析 系统的需求分析和可行性分析是开发一个系统的首要工作,对于系统的性能和系 统的开发周期起着至关在重要的作用。在开发系统时应做好系统的需求调查,对系统 的结构框架做好规划,这样才能开发出完善有效的系统。 4.1.1 系统的需求分析 系统需求分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完 善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统

18、的功能进 行细致的分析,从而才能够开发出完整的系统设计。通过以往对一些购物网站的浏览 和借鉴,作为一个购物系统,应分为前台模块和后台的管理者模块,前台模块应包括 登录、注册、购物车、订单等模块,后台模块应包括,管理员登录、添加分类、添加 商品、查看订单等模块。根据系统的需求进行有步骤、有计划的进行开发。另一方面 开发出的系统应符合以下标准: (1) 系统界面人性化,易于操作。 (2) 系统应易于维护和进行系统功能的扩充。 (3) 保证系统可以容纳一定数量客户同时访问,保证系统的稳定性和健壮性。 (4) 后台数据库关系清晰,以免造成数据冗余。 4.1.2 系统的可行性分析 随着计算机技术的发展和

19、网络人口的增加,网络世界也越来越广博,越来越丰富, 电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络 世界上获得他们在现实世界上可以获得的所有商品和服务。 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程, 实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非 常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可 行性分析: (1)经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力 有限,其功能还不能完善,所以没有什么经济效益可谈。 (2)技术可行性:JSPServlet+javaBea

20、n 的技术已经较为成熟。 (3)运行可行性:该系统需要搭建 JVM 即 JAVA 虚拟机和 Tomcat 环境,在此环 境下系统,并且在正确连接数据库后可以正常运行。 (4)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计, 因此不会构成侵权,在法律上是可行的。 通过以上的可行性分析,我将采用 JSPServlet+JavaBean 相结合的技术,运用 My SQL 数据库对网站进行建设。 4.24.2 系统设计的总体规则系统设计的总体规则 无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有: 简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个

21、网站 来说是非常重要的。 针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业 突出和很强的针对性。 实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用 性。 4.34.3 系统的主要架构及开发模式系统的主要架构及开发模式 系统的建设关键在于其所使用的架构,而网上购物这种基于 web 的系统,传统的 C/S 架构已经不能满足大量用户的访问和操作,B/S 基于浏览器的架构则是目前网络系 统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通 的浏览器即可访问系统,方便快捷而且利于系统的更新和维护,JAVA 语言在该方面 更是得天独厚,J2

22、EE 规范的出现则使系统的开发更加规范,层次更加清楚,更利于对 复杂事务的处理,而且在安全性方面也做的更好。基于 MVC 的开发流程则使开发过程 更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。 4.3.1 基于 B/S 的体系结构 在 B/S 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求, 服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S 结构简化了客户 机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据 库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、 加工、结果返回以及动态网页生

23、成等工作全部由 Web Server 完成。实际上 B/S 体系结 构是把二层 C/S 结构的事务处理逻辑模块从客户机的任务中分离出来,由 Web 服务器 单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了 Web 服务器。 这种三层体系结构如图 4-1 所示。 Browse 浏 览器 Web 服务 器 数据库 图 4-1 B/S 三层架构示意图 这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来, 也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部 分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据 访问等关键事务

24、,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个 客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与 层之间相互独立,任何一层的改变不会影响其它层的功能。 4.3.2 基于 MVC 的应用开发模型 在传统的基于 Web 的应用系统中,例如 ASP,PHP 等,通常开发者将业务逻辑, 数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操 作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务 代码的调试,同时也不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展 性,当我们要在现有业务上进行扩展的时候,通常无法借助

25、于现有的资源和应用,而 只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。 在本网上购物系统中,将采用通行的 MVC 模式来构建应用。这种结构解决了前面 所述的所有问题,在我们的应用集成网络中,通过企业级高端 J2EE 应用服务器实现 MVC 开发模型。MVC 的逻辑图如图 4-2 所示,流程图如图 4-3 所示。 图 4-2 MVC 开发逻辑示意图 图 4-3 MVC 业务流程示意图 系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地 被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细 致的分析,从而才能够开发出完整的系统

26、设计 通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下。 Model(模型)层:由 javaBean 来实现,将具体的业务封装在业务逻辑层实现。 是系统结构更加明确。 View(视图)层:由 JSP、HTML 组成。这一层次的特点是能够真实地展示和客 户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展 示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格 的界面。 Controller(控制器)层:是非常重要的一层,这一层是连接 View 和 Model 的纽 带,同时也是将这两层进行最大限度分离的工具。通常由 Servlet 来实现,S

27、ervlet 和 JSP 虽然同样都属于页面展示工具,但分属两层。主要在于 JSP 以脚本语言的形式存在, 它的主要优势是进行动态数据的 Web 展示,而 Servlet 是一个完整的 Java 程序,进行 业务的调用和流程的处理是它的长处。 通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。将业务 组件和展示页面进行分离,并通过 Controller 来描述调用关系,一方面可以提高效率, 另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展, 以满足不同用户、不同阶段、各种各样的业务需求。 5 5 系统的功能系统的功能和流程分析和流程分析 5.15.1 网上

28、商城购物系统基本功能描述网上商城购物系统基本功能描述 本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境, 符合目前国内流行的电子商务模式。该网上购物系统平台利用现在比较广泛的 MVC 的 架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,前台用 户可以在系统中实现注册、登录、分类查询商品信息、购物、支付,管理购物车、结 账等功能。通过后台管理模块可以实现后台管理员对商品、订单和系统管理功能,该 系统操作简单,界面人性化。是一个简易的网上购物系统。 5.25.2 系统整体布局模块的结构分析系统整体布局模块的结构分析 在平台功能的分析基础上,得到本平台的功能

29、模块图如图 5-1 所示。 图 5-1 平台购物模块 5.35.3 系统前台功能分析系统前台功能分析 经过对购物系统的流程分析,购物流程如图 5-2 所示。 图 5-2 网上购物活动图 前台部分应包含一下几个模块和功能: (1)用户管理模块:能够完成用户基本信息的注册和用户的系统登录。用户登录 流程图如图 5-3 所示。 图 5-3 用户登录流程图 (2)分类模块:从后台数据库查出所有商品分类并显示到界面左边。 (3)商品模块:查出所有商品显示在 body 页面上,按照分类查找相应的商品, 浏览全部商品,查看商品详情,添加到购物车。 (4)购物模块:如果想把购物车的信息添加到数据库中,购物车里

30、面包含的信息 有用户、商品、分类、商品数量等,一个用户有一个购物车,购物车中可以有多个商 品,每个商品数量不唯一,添加到购物车删除购物车中某件商品,清空购物车。 (5)订单模块:创建订单表,创建订单项表,填写信息生成订单,修改订单,提 交订单,付款。 5.45.4 系统后台模块功能分析系统后台模块功能分析 后台作为管理员管理系统的平台,根据购物系统分析,管理员的用例图 5-4 所示。 图 5-4 管理员功能用例图 作为系统后台应包含以下模块: (1)管理员登录模块:功能与用户登录相同,只是两种用户不在一张表上,查询 数据库时查询的表不同,因此可以直接复制前台的用户模块的代码,然后修改查询的 用

31、户表,以及跳转的页面即可。 (2)分类模块:应包含添加分类,查询已有分类。 (3)商品模块:添加商品,查询所有商品,修改商品信息,删除商品等功能。 (4)订单模块:查询所有订单,查询所有未付款订单,查询所有已付款订单,查 询所有未收获订单,查询所有已完成订单。 6 6 系统功能的具体实现系统功能的具体实现 6.16.1 系统数据库系统数据库及表的设计及表的设计 在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结 构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上 的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之 重。 数据库

32、设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量 分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什 么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的 三个元素,也是一个好的数据库设计的核心。 结合系统结构以及对系统中各部分关系的分析,共建立了一个数据库和六张表。 6.1.1 创建数据库 数据库名为 myestore,该数据库是作为其他表建立的基础,管理员表、用户 表、订单表等都在该数据库里面建立。数据库创建代码以及所包含的的表如图 6-1 所 示。 CREATE DATABASE MYESTORE; SET FOREIGN_K

33、EY_CHECKS=0; 图 6-1 数据库以及表结构 6.1.2 表的创建 表的创建是在数据库创建之后,表的创建应清楚的了解各表之间的关系,以及表中 应包含哪些字段,表与表之间的关系应划分清楚,确定好表的关键字,表中的外键, 消除表中的冗余数据。 (1)创建管理员表 admins, 管理员表是作为后台管理员登录后台程序时验证管理 员身份时使用,管理员表应包括用户名以及用户密码等字段。管理员表字段类型定义 如图 6-2 所示。 DROP TABLE IF EXISTS admins; CREATE TABLE admins ( aid char(32) NOT NULL, username v

34、archar(30) DEFAULT NULL, password varchar(30) NOT NULL, email varchar(30) DEFAULT NULL, PRIMARY KEY (aid), UNIQUE KEY username (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO admins VALUES (1cc6af4013a467d096bd6d7a5b, haha, haha, hahaestore, 1, null); 图 6-2 管理员表字段类型定义 (2)创建商品表,商品表作为商品信息

35、存储的表,应包含商品名等信息,该表是前 台和后台共同操作的表,前台用户通过查询该表可获得商品的信息,在前台购物页面 显示出来,后台管理通过操作该表进行商品的添加,以及商品的信息的修改。商品表 的字段类型定义如图 6-3 所示。 CREATE TABLE books ( bid char(32) NOT NULL, bname varchar(20) NOT NULL, author varchar(20) DEFAULT NULL, price varchar(15) DEFAULT NULL, image varchar(100) DEFAULT NULL, state tinyint(4)

36、 DEFAULT NULL, cid varchar(32) DEFAULT NULL, PRIMARY KEY (bid), KEY cid (cid), CONSTRAINT books_ibfk_1 FOREIGN KEY (cid) REFERENCES categories (cid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 图 6-3 商品表字段类型定义 (3)创建分类表 categories。该表存储所有商品的分类信息,包括分类名称等字段, 后台通过添加分类和修改分类对该表进行操作和访问。分类表的字段和类型定义如图 6-4 所示。 DROP T

37、ABLE IF EXISTS categories; CREATE TABLE categories ( cid varchar(32) NOT NULL DEFAULT , cname varchar(20) DEFAULT NULL, PRIMARY KEY (cid), UNIQUE KEY cname (cname) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 图 6-4 分类表字段类型定义 (4)创建订单项表 orderitems。订单项表包括了订单项号、商品的数量、小计等 字段,订单包括多个订单项。订单项表字段及类型定义如图 6-5 所示。 DROP

38、 TABLE IF EXISTS orderitems; CREATE TABLE orderitems ( oiid char(32) NOT NULL, oid char(32) NOT NULL, bid char(32) NOT NULL, count smallint(6) NOT NULL, subtotal varchar(12) NOT NULL, PRIMARY KEY (oiid), KEY oid (oid), KEY bid (bid), CONSTRAINT orderitems_ibfk_1 FOREIGN KEY (oid) REFERENCES orders (

39、oid), CONSTRAINT orderitems_ibfk_2 FOREIGN KEY (bid) REFERENCES books (bid) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 图 6-5 订单项表字段类型定义 (5)创建订单表 orders。订单表应包括订单编号、总计、用户编号等字段。一个 订单可以包含多个订单项。订单表的字段和类型定义如图 6-6 所示。 DROP TABLE IF EXISTS orders; CREATE TABLE orders ( oid char(32) NOT NULL, orderTime timestamp

40、NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, total varchar(15) NOT NULL, address varchar(50) DEFAULT NULL, state tinyint(4) NOT NULL, uid char(32) DEFAULT NULL, PRIMARY KEY (oid), KEY uid (uid), CONSTRAINT orders_ibfk_1 FOREIGN KEY (uid) REFERENCES users (id) ) ENGINE=InnoDB DEFAU

41、LT CHARSET=utf8; 图 6-6 订单表字段类型定义 (6)创建用户表 users。用户表是用户注册的信息表,是验证用户登录信息的表单, 应包括用户名,用户密码等字段。用户表字段和类型定义如图 6-7 所示。 DROP TABLE IF EXISTS users; CREATE TABLE users ( id char(32) NOT NULL, username varchar(30) DEFAULT NULL, password varchar(25) DEFAULT NULL, email varchar(30) DEFAULT NULL, state tinyint(4)

42、 DEFAULT NULL, activeCode char(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY username (username) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO users VALUES (b93153ba8bbb4e5ab86bab5ba3, hehe, hehe, , 1, 922fbdb91bf147a9a8bc21e52729d615); 图 6-7 用户表字段类型定义 6.26.2 用户登录模块用户登录模块 用户登录模块,指的是根据用户输入的用户名和密

43、码,对用户的身份进行验证等。 如果用户没有登录,用户就无法访问其他的一些 jsp 页面,无法进行正常的购物操作, 虽然用户可以进行正常的商品浏览,但无法进行购买操作。如果用户登录成功,则用 户的 id 被存入 session 中,如果用户登录不成功则会跳转到登录页面。用户登录模块的 界面和部分代码如下。 登陆界面如图 6-8 所示。 图 6-8 用户登录界面 登录界面核心代码如下。 body background=adminjsps/login.jpg 用户登录 $msg 用户名: 密码: 6.36.3 系统购物模块系统购物模块 用户登录成功后可进行商品的浏览,可根据商品的分类进行商品的挑选工

44、作,点击 商品的图片可进一步了解商品的详细信息,商品的名称,商品的价格以及商品的一些 备注信息。进一步可以将选择的商品放入购物车,如果要进一步购物则可以进一步浏 览其他商品,然后进行选择加入购物车,最终进行支付。系统购物主界面以及部分代 码如下。 购物系统主界面如图 6-9 所示。 图 6-9 购物系统主界面 购物系统主界面核心代码如下。 public class BookServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws S

45、ervletException, IOException /接收参数,判断调用相应方法 String method = request.getParameter(method); if(findAll.equals(method) findAll(request,response); else if(findByCid.equals(method) findByCid(request,response); else if(findByBid.equals(method) findByBid(request,response); else request.setAttribute(msg, 亲,

46、您的请求方式不对啊!); request.getRequestDispatcher(/jsps/msg.jsp).forward(request, response); private void findByBid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub /接收参数 String bid = request.getParameter(bid); /调用业务层 BookServic

47、e bs = new BookService(); Book book; try book = bs.findByBid(bid); /System.out.println(book.getBname(); request.setAttribute(book, book); request.getRequestDispatcher(/jsps/book/desc.jsp).forward(request, response); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); /显示结果到

48、 jsp private void findByCid(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub String cid = request.getParameter(cid); /System.out.println(cid); BookService bs = new BookService(); try List bookList=bs.findByCid(cid); /Sys

49、tem.out.println(bookList); request.setAttribute(bookList, bookList); request.getRequestDispatcher(/jsps/book/list.jsp).forward(request, response); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); private void findAll(HttpServletRequest request, HttpServletResponse respon

50、se) throws ServletException, IOException / TODO Auto-generated method stub try BookService bs = new BookService(); List bookList = bs.findAll(); request.setAttribute(bookList, bookList); request.getRequestDispatcher(/jsps/book/list.jsp).forward(request, response); catch (SQLException e) / TODO Auto-

51、generated catch block e.printStackTrace(); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); 6.46.4 购物车模块购物车模块 购物车模块是利用 Session 机制来存储所选的物品, 。session 提供了可以保存和跟 踪用户的状态信息的功能,使当前用户在 session 中定义的变量和对象能在页面之间共 享,但是不能为

52、应用中其他用户所访问,它与 cookie 最重大的区别是,session 将用户 在会话期间的私有信息存储在服务器端,提高了安全性。在服务器生成 session 后,客 户端会生成一个 sessionid 识别号保存在客户端,以保持和服务器的同步。 购物车包含了所有购买的商品(购物项)及总计,总计等于每个商品的小计的总 和,在购物车中有一个 Map 集 Map,用于存储所有订单项。 购物项(CartItem)包含了商品的信息及购买商品的数量及小计,小计等于商品单 价乘以商品的数量。 功能实现的页面调用关系如下。 添加到购物车: desc.jsp-cartServlet - Cart 对象中 addCart 方法。 从购物车中移除: list.jsp -cartServlet - Cart 对象中 removeCart 方法。 清空购物车: list.jsp -cartServlet - Cart 对象中 clearCart 方法。 我的购物车: 从 session 中读出购物车内容显示到 top.jsp。 购物车模块的界面及核心代码如下。 点击购买后,添加商品到我的购物车,界面如图 6-10 所示。 图 6-10 商品添加到购物车界面 购物后,商品将添加到我的购物车,点击我的购物车界面如图 6-11 所示。 图 6-

温馨提示

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

评论

0/150

提交评论