《电子商务系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《电子商务系统的设计与实现.docx(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要随着社会经济的迅速发展和科学技术的全面进步,尤其是计算机事业的飞速发展,以计算机与网络技术为基础的信息系统迎来了蓬勃发展的时期。网上购物也作为一种潮流步入了我们的生活中。网络购物不仅降低了商场的运营成本,并且也避免了消费者挑选商品的烦琐过程,使消费者的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活,也开辟了一个新的销售方式。本系统是一个小型的电子商务系统,本网上购物系统是根据现有的网上购物系统的现状而设计开发的电子商务平台。可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。该论文主要介绍了网上购物系统的开发背景、前台系统的分析设计与实现,后台系统的分析设计与实
2、现。用户可以在系统中实现注册、登录、分类查询商品信息、购物、管理购物车、结账等功能。通过后台管理模块可以实现对后台商品、订单和系统的管理功能。本系统采用JAVA开发环境,利用MVC的开发模式,以MySQL为系统数据库,以Tomcat作为服务器,整个系统操作简便、界面友好、灵活实用。关键词:网上购物系统;系统管理;JAVA;MVC;Tomcat;MySQLKeywords: online shopping system; management; JAVA; MVC; Tomcat; MySQL目 录1 前言12 系统开发的背景及意义22.1 系统开发背景22.2 系统的开发意义23 系统开发工具
3、的介绍43.1 MyEclipse简介43.2 Servlet简介43.3 JSP简介43.4 Tomcat简介53.5 MySQL简介54 网上购物系统分析64.1 系统需求和可行性分析64.1.1 系统的需求分析64.1.2 系统的可行性分析64.2 系统设计的总体规则74.3 系统的主要架构及开发模式74.3.1 基于B/S的体系结构84.3.2 基于MVC的应用开发模型85 系统的功能和流程分析115.1 网上商城购物系统基本功能描述115.2 系统整体布局模块的结构分析115.3 系统前台功能分析125.4 系统后台模块功能分析136 系统功能的具体实现156.1 系统数据库及表的设
4、计156.1.1创建数据库156.1.2表的创建166.2 用户登录模块196.3 系统购物模块206.4 购物车模块226.5 订单模块256.6 支付模块286.7 管理员模块296.8 后台管理界面296.9 后台查看编辑已有分类模块316.10 添加商品分类模块326.11 后台添加商品模块356.12 后台查看所有订单模块357 系统测试及总结387.1 系统关键部分测试分析387.2 测试分析总结及说明387.3 系统的性能分析388 总结40致 谢41参考文献421 前言目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的
5、信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。互联网的迅速发展使电子商务成为一种潮流和时尚,也是网上购物成为未来的发展趋势。越来越多的商家在网上建立起商店,向消费者展示出一种新颖的购物理念。网上购物系统作为电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文旨在讨论如何建设B2C的网上购物系统。在美、日等信息化程度较高的国家和地区,网络购物发展速度迅猛,很多美国的世界级超一流的零售商,也纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。
6、在我国,网上购物从无到有也不过短短几年时间,但中国网上购物的用户数量却发展迅速,这说明在中国发展网上购物具有良好的群众基础,网上购物的方便快捷的优势使网上购物具有巨大的潜在发展优势,网上购物方式日趋被大家接受。在未来的不久,网上购物必将成为购物消费的主流方式。2 系统开发的背景及意义2.1 系统开发背景随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围
7、广泛的,复杂的分布式应用正在Web环境中出现。网上购物系统就相继的出现,给人们带来了不少的方便快捷,网上购物系统正在快速向前发展。国外相关研究情况:美国是网上交易开展较早的国家,在许多领域处于全球领先水平,成为其他国家开展网上商城的示范,其中网上商城销售涉及的领域十分广泛;网上商城触及到了各个行业,各种商品和各种服务,发展速度和规模十分迅速。网上商城正酝酿着巨大商机和挑战。国内相关研究情况:目前,我国所有行业基本上参与了电子商务。几年来我国的电信网络设施发展很开,但是,我国毕竟还是发展中国家,对网上商城系统运行所需要的信息网络基础设施水平和对应于网络经济的社会法律。诚信环境建设等与发达国家相比
8、还有一定差距。另一方面,软件开发技术的发展也是电子商务的发展的一个硬性条件。而本次设计的任务是,构建一个电子商务网站,采用的主要技术是基于服务器端的JSP、Servlet、Java的组件JavaBean,以及网页编程语言HTML。2.2 系统的开发意义当今Internet发展趋势下,各种公司和机构都需要进行改造和调整来适应迅速变化的商务环境,由此,公司系统和网站的开发对公司有很大的意义。公司系统的开发不仅是公司产品展示和公司信息传递的一个平台,更大一方面也是公司形象展示的一个平台。系统的完整性、健壮性以及人性化对于一个公司产品销售和公司形象都有很大的关联作用。网上购物系统为改变传统的商业运作模
9、式提供了一种技术上的可行性的方案;利用Internet的技术通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为电子商务。 当今比较流行的网上购物系统有“淘宝()”和“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台
10、数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。对自己进一步学习和了解网上购物系统具有很大的现实意义,对自己今后从事的工作都有很大的帮助和促进作用。3 系统开发工具的介绍3.1 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、
11、JSP、CSS、JavaScript、Spring、SQL、Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java、Servlet、AJAX、JSP、Struts、Spring、Hibernate、JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。3.2 Servlet简介Servlet是运行在Web服务器或者应用服务器上的Java程序。它是一个中
12、间层,负责接收客户端的请求和连接HTTP服务器上的数据库或者应用程序。一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。3.3 JSP简介JSP即Java Server Page,可以将静态的HTML与动态生成的内容混合起来。JSP既可以实现前台较好的动态效果,也可以利用Servlet实现后台较好的逻辑操作 ,而且在JSP中HTML的编写与维护更为简单。JSP的技术的优势如下:(1)JSP技术是用Java语言作为脚本语言
13、的。Java语言是成熟的、强大的、易扩充的编程语言。(2)高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。(3)可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。(4)稳定性。目前,JSP的发展已经是一种较成熟的技术。系统运行稳定,是大中型电子商务企业的选择,该系统采用JSP+Servlet+JDBC+JavaBean进行开发,没有涉及SSH框架的技术,是初级开发者较长采用的一种开发模式。3.4 Tomcat简介Tomcat 服务器是一个免费的开放源代码的We
14、b 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML(标准通用标记语言下的一个应用。)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 Tomcat服务器是在SUN公司的开发的一个优秀的Servlet/JSP容器。Tomcat负责处理客户端请求,把请求传给Servlet并把结果返回给客户端。Tomcat服
15、务器除了能够运行Servlet和JSP,还提供Web服务器的功能。3.5 MySQL简介MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。4 网上购物系统分析4.1 系统需求和可行性分析系统的需求分析和可行性分析是开发一个系统的首要工作,对于系统的性能和系统的开发周期起着至关在重要的作用。在开发系统时应做好系统的需求调查,对系统的结构框架做好规划,这样才能开发出完善有效
16、的系统。4.1.1 系统的需求分析系统需求分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。通过以往对一些购物网站的浏览和借鉴,作为一个购物系统,应分为前台模块和后台的管理者模块,前台模块应包括登录、注册、购物车、订单等模块,后台模块应包括,管理员登录、添加分类、添加商品、查看订单等模块。根据系统的需求进行有步骤、有计划的进行开发。另一方面开发出的系统应符合以下标准:(1) 系统界面人性化,易于操作。(2) 系统应易于维护和进行系统功能的扩充。(3) 保证系统可以
17、容纳一定数量客户同时访问,保证系统的稳定性和健壮性。(4) 后台数据库关系清晰,以免造成数据冗余。4.1.2 系统的可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得的所有商品和服务。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:(1)经济可行性:该平台设计只是作为本人的毕业
18、设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。(2)技术可行性:JSPServlet+javaBean的技术已经较为成熟。(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。(4)法律可行性:该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用JSPServlet+JavaBean相结合的技术,运用My SQL数据库对网站进行建设。4.2 系统设计的总体规则无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有
19、:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。4.3 系统的主要架构及开发模式系统的建设关键在于其所使用的架构,而网上购物这种基于web的系统,传统的C/S架构已经不能满足大量用户的访问和操作,B/S基于浏览器的架构则是目前网络系统应用的主流,它将大量的数据处理工作交给服务器端来处理,客户端只用通过普通的浏览器即可访问系统,方便快捷而且利于系统的更新和维护,JAVA语言在该方面更是得天独厚
20、,J2EE规范的出现则使系统的开发更加规范,层次更加清楚,更利于对复杂事务的处理,而且在安全性方面也做的更好。基于MVC的开发流程则使开发过程更加清晰明了,利于做一些复杂的逻辑实现,从而节省了开发周期和开发成本。4.3.1 基于B/S的体系结构在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由Web Se
21、rver完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三层体系结构如图4-1所示。 Browse浏览器Web服务器数据库图4-1 B/S三层架构示意图这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子苗条了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精
22、力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。 4.3.2 基于MVC的应用开发模型在传统的基于Web的应用系统中,例如ASP,PHP等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。在本网上购
23、物系统中,将采用通行的MVC模式来构建应用。这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端J2EE应用服务器实现MVC开发模型。MVC的逻辑图如图4-2所示,流程图如图4-3所示。图4-2 MVC开发逻辑示意图图4-3 MVC业务流程示意图系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下。Model(模型)层:由javaBean来实现,将具体的业务封装在业务逻辑层实现。是系统结
24、构更加明确。View(视图)层:由JSP、HTML组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。Controller(控制器)层:是非常重要的一层,这一层是连接View和Model的纽带,同时也是将这两层进行最大限度分离的工具。通常由Servlet来实现,Servlet和JSP虽然同样都属于页面展示工具,但分属两层。主要在于JSP以脚本语言的形式存在, 它的主要优势是进行动态数据的Web展示,而Servlet是一个完整的Java程序,进行业务的调
25、用和流程的处理是它的长处。通过这种模型的建立,我们的应用系统具备了非常好的性能和可扩展性。将业务组件和展示页面进行分离,并通过Controller来描述调用关系,一方面可以提高效率,另一方面也可以增加系统扩充的能力,使我们的系统可以进行最快速度的业务扩展,以满足不同用户、不同阶段、各种各样的业务需求。5 系统的功能和流程分析5.1 网上商城购物系统基本功能描述本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。该网上购物系统平台利用现在比较广泛的MVC的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,前台用户可以在系统中实
26、现注册、登录、分类查询商品信息、购物、支付,管理购物车、结账等功能。通过后台管理模块可以实现后台管理员对商品、订单和系统管理功能,该系统操作简单,界面人性化。是一个简易的网上购物系统。5.2 系统整体布局模块的结构分析在平台功能的分析基础上,得到本平台的功能模块图如图5-1所示。图5-1 平台购物模块5.3 系统前台功能分析经过对购物系统的流程分析,购物流程如图5-2所示。图5-2 网上购物活动图前台部分应包含一下几个模块和功能:(1)用户管理模块:能够完成用户基本信息的注册和用户的系统登录。用户登录流程图如图5-3所示。图5-3 用户登录流程图(2)分类模块:从后台数据库查出所有商品分类并显
27、示到界面左边。(3)商品模块:查出所有商品显示在body页面上,按照分类查找相应的商品,浏览全部商品,查看商品详情,添加到购物车。(4)购物模块:如果想把购物车的信息添加到数据库中,购物车里面包含的信息有用户、商品、分类、商品数量等,一个用户有一个购物车,购物车中可以有多个商品,每个商品数量不唯一,添加到购物车删除购物车中某件商品,清空购物车。(5)订单模块:创建订单表,创建订单项表,填写信息生成订单,修改订单,提交订单,付款。5.4 系统后台模块功能分析后台作为管理员管理系统的平台,根据购物系统分析,管理员的用例图5-4所示。图5-4 管理员功能用例图作为系统后台应包含以下模块: (1)管理
28、员登录模块:功能与用户登录相同,只是两种用户不在一张表上,查询数据库时查询的表不同,因此可以直接复制前台的用户模块的代码,然后修改查询的用户表,以及跳转的页面即可。(2)分类模块:应包含添加分类,查询已有分类。(3)商品模块:添加商品,查询所有商品,修改商品信息,删除商品等功能。(4)订单模块:查询所有订单,查询所有未付款订单,查询所有已付款订单,查询所有未收获订单,查询所有已完成订单。6 系统功能的具体实现6.1 系统数据库及表的设计在建设网站系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证
29、关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,搞清楚该实体有哪些属性,对应有些什么字段,以及各实体之间有何种联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。结合系统结构以及对系统中各部分关系的分析,共建立了一个数据库和六张表。6.1.1创建数据库数据库名为myestore,该数据库是作为其他表建立的基础,管理员表、用户表、订单表等都在该数据库里面建立。数据库创建代码以及所包含的的表如图6-1所示。CREATE DATABASE MY
30、ESTORE;SET FOREIGN_KEY_CHECKS=0;图6-1 数据库以及表结构6.1.2表的创建表的创建是在数据库创建之后,表的创建应清楚的了解各表之间的关系,以及表中应包含哪些字段,表与表之间的关系应划分清楚,确定好表的关键字,表中的外键,消除表中的冗余数据。(1)创建管理员表admins, 管理员表是作为后台管理员登录后台程序时验证管理员身份时使用,管理员表应包括用户名以及用户密码等字段。管理员表字段类型定义如图6-2所示。DROP TABLE IF EXISTS admins;CREATE TABLE admins ( aid char(32) NOT NULL, usern
31、ame varchar(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 (1cc6a795923f4013a467d096bd6d7a5b, haha, haha, hahaestore, 1, null);图6-2 管理员表字段类型定义(2)创建商品表,商品表作
32、为商品信息存储的表,应包含商品名等信息,该表是前台和后台共同操作的表,前台用户通过查询该表可获得商品的信息,在前台购物页面显示出来,后台管理通过操作该表进行商品的添加,以及商品的信息的修改。商品表的字段类型定义如图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)
33、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 TABLE IF EX
34、ISTS 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 TABLE IF EXISTS orde
35、ritems;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 (oid), CONSTRAINT order
36、items_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 NOT NULL DEFAULT CURRENT_TIMESTAM
37、P 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 DEFAULT CHARSET=utf8; 图6-6 订单表字段类型定义(6)创
38、建用户表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) DEFAULT NULL, activeCode char(32) DEFAULT
39、NULL, PRIMARY KEY (id), UNIQUE KEY username (username) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO users VALUES (b93153ba8bbb4e5ab86bab5b982628a3, hehe, hehe, hehe, 1, 922fbdb91bf147a9a8bc21e52729d615);图6-7 用户表字段类型定义6.2 用户登录模块 用户登录模块,指的是根据用户输入的用户名和密码,对用户的身份进行验证等。如果用户没有登录,用户就无法访问其他的一些jsp页面,无法进行正常的
40、购物操作,虽然用户可以进行正常的商品浏览,但无法进行购买操作。如果用户登录成功,则用户的id被存入session中,如果用户登录不成功则会跳转到登录页面。用户登录模块的界面和部分代码如下。登陆界面如图6-8所示。图6-8 用户登录界面登录界面核心代码如下。body background=adminjsps/login.jpg 用户登录 $msg 用户名:密码: 6.3 系统购物模块 用户登录成功后可进行商品的浏览,可根据商品的分类进行商品的挑选工作,点击商品的图片可进一步了解商品的详细信息,商品的名称,商品的价格以及商品的一些备注信息。进一步可以将选择的商品放入购物车,如果要进一步购物则可以进
41、一步浏览其他商品,然后进行选择加入购物车,最终进行支付。系统购物主界面以及部分代码如下。 购物系统主界面如图6-9所示。图6-9 购物系统主界面购物系统主界面核心代码如下。public class BookServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /接收参数,判断调用相应方法String method = request.getParameter(method
42、);if(findAll.equals(method)findAll(request,response);else if(findByCid.equals(method)findByCid(request,response);else if(findByBid.equals(method)findByBid(request,response);elserequest.setAttribute(msg, 亲,您的请求方式不对啊!);request.getRequestDispatcher(/jsps/msg.jsp).forward(request, response);private void
43、 findByBid(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub/接收参数String bid = request.getParameter(bid);/调用业务层BookService bs = new BookService();Book book;try book = bs.findByBid(bid);/System.out.println(book.getBname();re
44、quest.setAttribute(book, book);request.getRequestDispatcher(/jsps/book/desc.jsp).forward(request, response); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();/显示结果到jspprivate void findByCid(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubString cid = request.getParameter(cid);/System.out.println(cid);BookService bs = new BookService()