《基于Struts框架的网上书店(含源文件).docx》由会员分享,可在线阅读,更多相关《基于Struts框架的网上书店(含源文件).docx(22页珍藏版)》请在课桌文档上搜索。
1、2023届毕业设计说明书基于Struts框架的网上书店系、部:计算机与信息科学系学生姓名:指导教师:职称副教援专业:计算机网络技术班级:0801完成时间:2011-5-20摘要网上书店是指利用互联网络来实现图书销售业务的一种新型图书零售渠道。网上书店订单处理速度快,效劳范围宽,存书量大,读者坐在家里就可以逛书店O本文就网上书店的整个开发流程(包括需求分析,系统设计,详细设计,系统测试等)进行了详细的论述,并在架构设计和实现方案上给出了考虑因素和理论依据。系统实现的主要功能包括:前台的用户注册登录、图书信息的查询和浏览、购物车、下订单等,后台的图书管理,用户管理,订单管理等。本系统采用了B/S结
2、构,三层运行模式,同时适用于IntranetZInterneto浏览器为第一层,作为系统的应用界面;应用逻辑效劳为第二层:数据链接为第三层,作为系统的数据存取效劳。此架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。关键词:网上书店:Java;Struts2:面向对象ABSTRACTOnlinebookstoreisusingtheInternettoachieveanewkindofbooksalesbookretailingchannels.Onlinebookstoreorderprocessingspeed,widerangeofserv
3、ices,volumeofbooks,thereadercansitathome,bookstore.Inthisarticleonlinebookstorethroughoutthedevelopmentprocess(Includingrequirementsanalysis,systemdesign,detaileddesign,systemtesting,etc.)arediscussedindetail,andinarchitecturedesignandimplementationofprogramsontheconsiderationgivenandthetheoreticalb
4、asis.Systemtoachievethemainfeaturesinclude:frontdeskoftheuserregistrationlogbookinformationqueryandbrowsing,shoppingcart,orders,etc.,thebackgroundofthelibrarymanagement,usermanagement,ordermanagement.ThesystemusestheB/Sstructure,threeoperatingmodes,bothforIntranet/Internet.Browserasthefirstlayer,the
5、applicationinterfaceasasystem;applicationlogicservicesforthesecondlayer;datalinkforthethirdlayer,asthesystem*sdataaccessservices.Thisarchitectureisnoneedtoinstal1clientsoftware,easysoftwaredistributionandmaintenanceupgradestoadapttomanyapplicationsdistributedenvironment,theclientoperationandmaintena
6、nceneeds.Keywords:Onlinebookstore;Java;Struts2;object-oriented目录1系统概述31.1 网上书店的开展31.2 网上书店的现状11.3 网上书店的优势12系统开发技术22. 1MVC模式简介23. 2Struts是实现MVC模式的框架33需求分析33.1 可行性分析33.2 系统需求分析44. 2.1功能需求45. 2.2性能需求43.3数据流程分析51 .3.1顶层数据流图52 .3.2第一层数据流图53 .3.3第二层数据流图54系统总体设计64 .1系统设计目标64.2系统模块设计61 .2.1系统结构设计64 .2.2系统模块
7、设计65系统详细设计75.1 系统功能模块设计75. 1.1用户登录模块86. 1.2用户注册模块87. 1.3管理员功能模块98. 1.4图书信息管理模块99. 1.5购物车管理模块1010. 1.6订单管理模块1111. 1.7添加图书模块1112. 1.8图书查询模块125.2 数据库设计135.2.1 数据库的需求分析135.2.2 数据库的逻辑设计135.2.3 2.3创立数据表脚本156系统测试176.1 配置测试环境176.2 测试结果17结论18参考文献19致谢191系统概述1.1 网上书店的开展Internet的迅速开展正以前所未有的深度和广度影响和改善着人类生活的各个方面,
8、越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动实际上,电子商务是一些商业行为的电子化,例如网络书城,网上贸易,就网络书城来说,网络书城是目前应用最广,最成功的典范之一,网络书城的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广阔读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。1.2 网上书店的现状出版物网上销售不仅是传统销售渠道的开展和补充,也是未来图书销售的开展方向目前我国运作和销售较好的大型网上书店,如当当、卓越和旌旗席殊、中国书网网上书店等,这些网上书店各具优势,其中当当网上书店在价格和品种方面的优
9、势是无人能比:卓越网上书店创造流行的能力比拟强;旌旗席殊网上书店的优势是网点多,覆盖面广。在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。其中亚马逊网上书店在1998年拥有450万名顾客,到2002年有将近32亿人网上购书,销售额到达了78亿美元。1999年英国的20亿英镑图书总销售额中,网上销售占5%。英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。1.3 网上书店的优势(1)网上书店挤压盗版空间网络书店的兴起无疑给盗版商以有力的打击,因为兴旺的网络可以直接疏通图书的发行渠道,缩短了网上购书者与出版社的距离,给图书消费者以清新、廉价的享受。(
10、2)网上书店浓缩了图书的库存空间传统图书店内的图书摆放面积是有限的,每增加一本书其本钱都在以一定比例增加,而网络书店解决了存储空间问题,每增加一本书本钱增长几乎为零。(3)数量、种类多,出版时间跨度大综合性的网上书店涉及各种各类内容的图书,提供订购的书目信息达上万、几十万条,而图书出版的时间有最新出版的,也有几十年前的,这是传统书店难以做到的。(4)不受时间、地域限制网上书店是24小时向全球各地的用户提供网上效劳的,用户借助网络可以漫游于世界各地的图书海洋中,随时选书、下订单。(5)多途径综合检索网上书店主要提供分类和自定义搜索的方式对图书进行查找。(6)个性效劳网上书店不只单纯销售图书,还充
11、分发挥网络优势,提供丰富多彩的个性化效劳,满足读者特定的需求。网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,既使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。2系统开发技术2.1 MVC模式简介MVC是Model模型)View(视图)Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心局部,使它们各司其职,各自完成不同的任务,其中任何一局部的修改都不会影响其它两局部。在MVC模式中,模
12、型封装了应用问题的核心数据、逻辑关系和业务规那么,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而防止了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个
13、模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由咖个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。如下列图所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:图1MVC模式2.2 Struts是实现MVC模式的框架设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身
14、可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。Struts是实现MVC模式的通用框架,它由四个主要局部组成,模型、视图、控制器和XML文件。模型通常由JavaBean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action
15、类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Strutsconfig,xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts-config,xml是与Struts相关的特殊信息配置的描述文件。3需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城-般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。3.1 可行性分析开发任何一个基于计算机的系统都会受到时间和资源的限制。因此在开发软件工程之前,必须根据可利用的时间和资源等条件进行可行性研究。可行性研究工作的主要任务不是研究
16、如何解决问题,而是要用最小的代价在最短的时间内确定该工程是否具有开发的可行性。(1)技术可行性:本网站严格按照MVC设计模式来开发,采用JSP、Struts2SPring和Hibernate等一些JAVAWCb相关技术实现。JaVa语言是一种优秀的编程语言。它最大的优点就是与平台无关,在WindOWS、LinUX以及其它平台上,都可以使用相同的代码。“一次编写,到处运行的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JaVaBeanS甚至不用重新编译。除此之外JaVa语言还提供了一些有用的新特性,使得使用JaVa语言
17、比C+语言更容易写出无错代码。(2)经济可行性:选择图书做本购物系统的主打商品,因为图书属于折扣大利润丰厚的商品,而且网上书店不需要门面等本钱开销,故大大降低其价格。加之传递方便、耐存储,故网上卖书具有比传统书店更大的本钱优势。有较大的客户群,本网站的商品主要为各类教材,销售对象主要是学生,故存在很大的市场。3.2 系统需求分析通过对系统的分析及对其他网店的参考,根本确定了“网络书城的根本功能以及根本性能的根本需求。3.2.1功能需求这方面的需求指定系统必须提供的效劳,通过需求分析应该划分出系统必须完成的所有功能。(1)图书查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供
18、客户选择所需图书,同时也应该提供按照图书名称,或者作者名称快速查询所需书目信息的功能。(2)购物车管理:当客户选择购置某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动去除以生成订单的购物车中的信息。(3)订单处理:对应客户购置图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。(4)会员注册:为了能够实现图书商品的购置,需要管理客户相关的联系方式、送货地
19、点等相关信息。3.2.2性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、平安性等方面的要求。(1)用户在客户端点击存在效劳器中的主页时,系统能快速响应。(2)在平安性方面,JaVa程序要满足客户传输信息的根本平安。3.3数据流程分析3.3.1顶层数据流图说明:未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。系统顶层数据流图如下列图所示。图2系统顶层数据流图3.3.2第一层数据流图前台购书和后台管理。根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第一层数据流图。(1)前台购书用户登录后进行书籍浏
20、览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购置的图书,提交订单,等待订单的处理结果。系统第一层数据流图(前台购书)如下列图所示。图3系统第一层数据流图前台购书(2)后台管理管理员可以登录到后台,查看相关的订单信息,然后修改订单的信息,主要是审核订单的有效性。系统第一层数据流图(后台管理)如下列图所示:图4系统第一层数据流图后台管理3.3.3第二层数据流图用户登录处理。为保证数据的有效和客户的管理,系统必须登录后才能进行购置图书的相关操作,登录是系统平安和数据有效性验证的第一局部。系统第二层数据流图(用户登录)如下列图所示:图5系统第二层数据
21、流图用户登录4系统总体设计4.1 系统设计目标本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供给方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加标准流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程
22、方法可以同时提高质量与生产率。4.2 系统模块设计4.2.1 系统结构设计获取完整资料Q:1225467431指导毕业设计课程设许以及这些模块之间的动态僦鹦町然据TlBJ中口、J饵心,匕以含了许多个内容,是由多个页面组成的一个整体的系统。(1)在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。(2)在系统开放性方面,按照软件工程开发标准实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。(3)在系统和数据的平安性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色
23、的用户管理手段,具有完善的系统和数据平安的保障体系。根据MVC的设计思想,可以得出如下图的系统结构设计图。图6系统结构设计图4. 2.2系统模块设计网上书店系统主要是实现以下两个功能:一是客户在网上查书,选书,购书和产生订单等功能。二是后台的图书管理功能,包括图书种类的管理和图书的管理。一个典型的网上书店一般都有需要实现商品信息的动态展示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。根据需求分析可以分为五大功能模块,如下图:该网站的功能模块如下表所示:表1网站的功能模块功能模块功能概述图书信息管理该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,
24、显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购置的商品!购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。会员管理实现网上书店客户信息的注册及身份验证由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的真实姓名.通信地址和联系方式等信息。订单管理实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息同生成订单,以便后面进行送货处理。图书管理该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删
25、除及对应类型下列图书信息的发布,删除等功能。5系统详细设计4.1 系统功能模块设计本网站系统包括两大局部,前台和后台。用户只能使用前台的各项功能包括注册、登录、购物、收藏、浏览书籍信息等;后台只有管理员才能使用,对网站进行综合管理使其动态更新。下列图为系统前台主要业务流程与系统前台主要业务流程:图7系统前台主要业务流程图8系统后台主要业务流程4.1.1 用户登录模块这里介绍用户登录的程序设计思路,数据库中存放有用户的根本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性。下面是登录程序流程图,如下列图所示:图9登录程序流程图4.1.2 用户注册模块注册模块,会出现在很多程序中
26、,这里借鉴了其他注册程序的流程。注册模块的核心思想是向数据库中输入数据,并且数据要不能重第,下面是注册模块的程序流程图如下列图所示:图10注册程序流程图4.1.3 管理员功能模块网站管理员登录到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。管理员可以添加公告信息等。4.1.4 图书信息管理模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功
27、能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购置的商品。主要分为两大局部,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到esbookshop数据库中的es.book数据表。下面是图书展示设计流程图,如下列图所示:图11图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购置的图书。再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为
28、适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购置的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es_bookshop数据库中的es_book数据表。另外在模糊查询时使用了数据库系统的Iike运算符。处理逻辑。处理过程首先建立数据库连接,翻开es_book数据表,并按照用户指定的方式和关键字信息将es.book数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、IS
29、BN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入局部信息即可。5. 1.5购物车管理模块购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。本次将以SeSSiOn技术、COOkie技术来实现购物车。优点上XL三然整汩小WWriHTN押府抿由心皆加一分由口而中Wah妹剪聚由获取完整资料Q:1225462431指导毕业设计课程设计U也胭中Web双方器女代开发程序,代写文档购物车中数据可以得到有效保存,我们可以试想一客户在购物时,突然某其他原因死机等原因)离开了购物站,他在购物车中数据有效保存下
30、来,他下次登录时购物车中还有上次保存的数据,防止用户再次选购商品的操作(此功能只对登录用户的购物车有效),要是用会话实现购物车,所有用户一旦离开站点,他的购物车中数据全部失效。(2)实现数据库及session准备。购物车是网上书城必需的一项功能。主要用于记录客户购置的图书编号、书名、出版社、作者、数量、单价等信息,并且应该计算出总价及打折后应付的金额,以便用户随时掌握自己的购置信息。本系统实现购物车时使SeSSion技术和数据库。对于用户的购置信息主要用SeSSion来记录,购置结束后再一起提交到数据库中,另打折信息是由数据库统一管理的,它是和图书入库一起完成的。这里要注意的是购物车也可以不使
31、用SeSSiOn,而直接把信息写到数据库中,这样做比拟简单,但由于每次选购都要将信息写入数据库中,这样将给效劳器带来很大的负担。如果有很多用户同时在购书,就很容易使效劳器瘫痪。所以基于以上考虑,我们采用session对象。购物车功能定义。购物车是客户在书店中实施购置活动的辅助工具,购物车性能的优劣在某种程度上也会影响购置者的购置情绪和行为。因此在设计购物车时不仅要考虑功能的多样性也要考虑购物车的实用性。本次对购物车的功能如下功能:1)存放客户选好的图书2)可以随时改变是否要购置3)可以随时改变购置的数量4)可以显示目前购物车中的图书的金额处理逻辑。在购物车信息显示页面中,将显示客户所选的图书信
32、息,在该页面中,客户可以指定选购数据量,也可以将对应商品从购物车中删除。此外,在该页面中也可以返回数目显示页面继续购物,或者清空整个购物车。如果用户确定购物车信息后,可以单击【提交订单】,进入订单确认页面,选择送货方式以及付款方式。下面是购物车程序流程图,如下列图所示:图12购物车程序流程图5.1.6 订单管理模块实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。(I)CoOkie信息及数据库准备生成订单是购书者购书的最后一步了。为了将图书送到客户手中,必须要求客户输入自己的信息(包括送货信息)本次在处理购书信息时采用c
33、ookie保存客户的注册信息,还有一些客户的信息在填写订单时一并完成的。购书结帐时会涉及到多个数据表的操作,如es_book表、es_order表、es_orderltem表。(2)处理逻辑在该页面中,客户可以依据表单提示,选择送货方式和付款方式,确认对应选择后,单击【确认】进入订单确认页面。客户确认订单对应的信息后,再单击【生成订单】,将生成客户这次购置图书的订单。如果成功那么跳转到订单成功生成页面,一次购物过程根本完成,如单击【返回购物车】那么可以继续选购其他图书。下面是生成订单流程图,如下列图所示:图13生成订单流程图本模块是系统的核心,主要负责订单的审查,是订单的流程最后一个环节,也是
34、最重要的一个环节。书店的任何数据都和订单数据有直接或者间接的关系,有效的订单和书店的经济利益有直接的关系,收入和支出都是由订单引起的。程序当中也严格限制数据的有效性,无效数据不会录入到数据库中。5.1.7 添加图书模块该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下列图书信息的发布,删除等功能。该页面具有权限,只有管理员可以进入,普通客户没有此权限。(1)数据库推备图书管理模块的目的是为了实现网上书店中图书信息的添加,修改及删除。该操作涉及到es_bookshop数据库中的es_book数据表和es_category数据表。(2)数据处理逻辑该页面进入时会弹出
35、登录对话框,只有正确的管理员姓名和密码才可进入。进入页面后,管理员可以根据书店的图书情况对所有图书进行添加,修改或删除。下面是图书管理流程图,如下列图所示:图14图书管理流程图5. 1.8图书查询模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购置的商品。主要分为两大局部,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到es_booshop数据库中的es_book数据表。下面是图书展示设计流
36、程图,如下列图所示:图15图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购置的图书。在一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购置的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es,bookshop数据库中的es_b
37、ook数据表。另外在模糊查询时使用了数据库系统的Iike运算符。处理逻辑。处理过程首先建立数据库连接,翻开es_book数据表,并按照用户指定的方式和关键字信息将es_book数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入局部信息即可。5.2数据库设计1. 2.1数据库的需求分析依据网上书店的处理需求,对应数据表的设计及功能如下:(1)买家表:存放书店客户的根本信息。(2)图书分类表:存放网上书店所提供图书分类的信息。(3)图书表:存放网上书店所销
38、售图书的根本信息。(4)订单表:存放与客户相关的订单的根本信息。(5)订单项表:存放订单中订单项的根本信息。5. 2.2数据库的逻辑设计根据以上需求分析,在确定了各个表主键字段的根底上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如下图:图16数据库逻辑图其中图书表中的分类编号CategoryIdw与图书分类表中的CategoryId为相关字段。订单表中的orderld与订单项表中的ordcrld是相关字段,而订单表中的userid与买家表中的userid相关。6. 2.3创立数据表脚本在根本的数据表的结构确定后,就可以在mysql中完成数据表的创立工作,下面给出建立对应
39、数据表的SQL脚本。(1)买家信息表:createtablees.user(useridbigintauto_incrementprimarykeynotnull,IoginNamevarchar(128)notnullunique,passwordvarchar(32)notnull,emailvarchar(128)unique,nickNamevarchar(128)comment昵称,questionvarchar(128)comment密保问题,answervarchar(128)comment密保答案addressldvarchar(32),addressvarchar(128)c
40、omment记录省市,telephonevarchar(32),mobiIePhonevarchar(32),PreviousLoginTimestampbigint,CurrentLoginTimestampbigint,FegisteredTimestampbigintnotnull,IastModifiedTimestampbigintnotnul1(2)图书分类表;createtableescategory(categoryldbigintauto_incrementprimarykeynotnull,superiorbigint,booksNumbigint,CategoryName
41、varchar(128)notnullunique,CreatedTimestampbigintnotnull,IastModifiedTimestampbigintnotnull,IastModifierIdbigint,IastModifierNamevarchar(128),orderNoint);书籍信息表:createtablees_book(bookidbigintautoincrementprimarykeynotnull,bookNamevarchar(128)notnull,authorvarchar(128),numberint,OriginalPriceDecimal(1
42、0,2)comment原价,realPriceDecimal(10,2)comment实价,publishervarchar(256),descriptiontextcomment简介,CoverImagePathvarchar(256)comment封面图,CreatedTimestampbigintnotnull,IastModifiedTimestampbigintnotnull,CategoryIdbigintnotnullcomment所属分类);订单表:createtablees_order(orderIdbigintautoincrementprimarykeynotnull,o
43、rderNovarchar(128)comment订单号,statussmallintnotnullcomment1、未付款;2、等待发货;3、己发货;4、己收货,descriptionvarchar(128)comment订单描述,amountDecimal(10,2)comment总额numberintnotnul1comment数量,各订单项中数量总和,CreatedTimestampbigintnotnull,IastModifiedTimestampbigintnotnull,useridbigintnotnullcomment用户,FeceiptAddressIdbigintcom
44、ment收货地址);(5)订单项表:createtablees_orderltem(orderltemldbigintauto_incrementprimarykeynotnull,numberintcomment数量,amountDecimal(10,2)comment金额,orderldbigintnotnullcomment订单);6系统测试1 .1配置测试环境(I)JDK下载和安装:第一步:进入SUN公司JAVA的JDK1.5版本免费安装程序,下载主页地址:5/download.html单击download,进入下载协议,选择接受协议。第二步:JDK安装程序:我安装的是:j2sdkl5
45、O-WindoWS-i586-p.exe第三步:安装JDK的目录,在些设为e:jdk2 2)TOMCAT下载和安装:第一步:登陆第二步:下载tomcat程序。安装的是:jakarta-tomcat-第三步:在安装tomcat时,要选择CUStom形式第四步:安装tomcat时,目录设为e:tomcat(3)在安装完JDK和tomcat后,要设置控制面板中的系统特性中的环境变量:增加变量CLASSPATH,它里面的内容为:e:jdklibtools.jar;e:jdklibdt.jar图17增加变量JAVA_HOME,内容为:e:jdk6.2测测试结身图19首页显示图图20商城书籍列表图图21图
46、书详细信息图图22购物车信息图23查询结果图24登录页面图25注册页面图26确认订单图27买家付款图28订单列表图29订单详情结论本设计实现了在StrUtS框架下,开发一个网上书店系统。网上书店主要包括前台客户操作和后台管理员管理两局部。前台客户操作主要实现用户的注册和登录,按分类浏览图书,对图书进行评论,使用购书帮助文档,查看购物车,下订单,查看订单,修改用户个人资料,修改用户密码等。后台管理主要实现对数据库中的书籍信息,用户信息以及订单信息的维护。经过多日的开发,本网站的建设根本完成,各项功能也能够正常使用,但是由于能力和时间有限,所以该系统还有许多不尽如人意的地方,比方说功能不够丰富,没
47、有对局部功能进行细化,对数据的平安性考虑不多等,这些都有待改良。此次设计过程真的让我受益匪浅:(1)学到了很多新知识,并且对老知识进行了回忆。经过长时间的学习,更进一步熟悉了JaVa语言。(2)通过不断上机实验,调试程序,总结经验,从对课题的不理解到能够开始动手去做,提出问题并自己想方法解决问题,增强了动手能力。(3)提高了中、英文资料的检索能力。这次毕业设计过程中我查阅了很多资料,不但有图书馆的期刊、杂志、馆藏图书,还有网络中的电子文档、电子书籍及视频教学课程;不但有中文资料还有英文资料。这些资料,使我的眼界更加开阔,对课题的认识更加深刻,编写程序时的思路更加清析,少走了很多弯路。回忆这个设计过程,我学到了许多书本上没有学到的知识。不仅丰富了自己的实践技能,扩展了本专业的知识面,同时也体验到了软件开发时的无穷乐趣。在以后的生活和工作中,我一定会更加努力,实现自己的人生价值!参考文献1孙卫琴.精通StrUts:基于MVC的JaVaWeb设计与开发.北京:电子工业出版社,2004.112万峰科技.JSP网站开发四“酷全书:新闻、论坛、电子商城、博客.北京:电子工业出版社,2005.93张桂元,