毕业设计(论文)基于Struts框架的网上书店

上传人:仙*** 文档编号:33887145 上传时间:2021-10-19 格式:DOC 页数:42 大小:2.07MB
返回 下载 相关 举报
毕业设计(论文)基于Struts框架的网上书店_第1页
第1页 / 共42页
毕业设计(论文)基于Struts框架的网上书店_第2页
第2页 / 共42页
毕业设计(论文)基于Struts框架的网上书店_第3页
第3页 / 共42页
点击查看更多>>
资源描述
摘 要网上书店是指利用互联网络来实现图书销售业务的一种新型图书零售渠道。网上书店订单处理速度快,服务范围宽,存书量大,读者坐在家里就可以“逛书店”。本文就网上书店的整个开发流程(包括需求分析,系统设计,详细设计,系统测试等)进行了详细的论述,并在架构设计和实现方案上给出了考虑因素和理论依据。系统实现的主要功能包括:前台的用户注册登录、图书信息的查询和浏览、购物车、下订单等,后台的图书管理,用户管理,订单管理等。本系统采用了B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。关键词:网上书店;Java;Struts2;面向对象ABSTRACTOnline bookstore is using the Internet to achieve a new kind of book sales book retailing channels. Online bookstore order processing speed, wide range of services, volume of books, the reader can sit at home, bookstore.In this article online bookstore throughout the development process (Including requirements analysis, system design, detailed design, system testing, etc.) are discussed in detail, and in architecture design and implementation of programs on the consideration given and the theoretical basis. System to achieve the main features include: front desk of the user registration log book information query and browsing, shopping cart, orders, etc., the background of the library management, user management, order management. The system uses the B / S structure, three operating modes, both for Intranet / Internet. Browser as the first layer, the application interface as a system; application logic services for the second layer; data link for the third layer, as the systems data access services. This architecture is no need to install client software, easy software distribution and maintenance upgrades to adapt to many applications distributed environment, the client operation and maintenance needs.Key words: Online bookstore; Java; Struts2; object-oriented目 录1 系统概述11.1 网上书店的发展11.2 网上书店的现状11.3 网上书店的优势12 系统开发技术32.1 MVC模式简介32.2 Struts是实现MVC模式的框架43 需求分析53.1 可行性分析53.2 系统需求分析53.2.1 功能需求63.2.2 性能需求63.3 数据流程分析63.3.1 顶层数据流图63.3.2 第一层数据流图73.3.3 第二层数据流图94 系统总体设计114.1 系统设计目标114.2 系统模块设计114.2.1 系统结构设计114.2.2 系统模块设计125 系统详细设计145.1 系统功能模块设计145.1.1 用户登录模块155.1.2 用户注册模块165.1.3 管理员功能模块165.1.4 图书信息管理模块175.1.5 购物车管理模块185.1.6 订单管理模块205.1.7 添加图书模块225.1.8 图书查询模块235.2 数据库设计255.2.1 数据库的需求分析255.2.2 数据库的逻辑设计255.2.3 创建数据表脚本276 系统测试306.1 配置测试环境306.2 测试结果31结 论37参考文献38致 谢391 系统概述1.1 网上书店的发展Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动.实际上,电子商务是一些商业行为的电子化,例如网络书城,网上贸易,就网络书城来说,网络书城是目前应用最广,最成功的典范之一,网络书城的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。1.2 网上书店的现状出版物网上销售不仅是传统销售渠道的发展和补充,也是未来图书销售的发展方向目前我国运作和销售较好的大型网上书店,如当当、卓越和旌旗席殊、中国书网网上书店等,这些网上书店各具优势,其中当当网上书店在价格和品种方面的优势是无人能比;卓越网上书店创造流行的能力比较强;旌旗席殊网上书店的优势是网点多,覆盖面广。在国外,影响较大的网上书店有美国的亚马逊,德国的贝塔斯曼和英国的因特网书店。其中亚马逊网上书店在1998年拥有450万名顾客,到2002年有将近32亿人网上购书,销售额达到了78亿美元。1999年英国的20亿英镑图书总销售额中,网上销售占5%。英国书业界人士分析,未来英国的网上售书将成为图书销售渠道中的主要渠道。1.3 网上书店的优势(1)网上书店挤压盗版空间网络书店的兴起无疑给盗版商以有力的打击,因为发达的网络可以直接疏通图书的发行渠道,缩短了网上购书者与出版社的距离,给图书消费者以清新、便宜的享受。(2)网上书店浓缩了图书的库存空间传统图书店内的图书摆放面积是有限的,每增加一本书其成本都在以一定比例增加,而网络书店解决了存储空间问题,每增加一本书成本增长几乎为零。(3)数量、种类多,出版时间跨度大综合性的网上书店涉及各种各类内容的图书,提供订购的书目信息达上万、几十万条,而图书出版的时间有最新出版的,也有几十年前的,这是传统书店难以做到的。(4)不受时间、地域限制网上书店是24小时向全球各地的用户提供网上服务的,用户借助网络可以漫游于世界各地的图书海洋中,随时选书、下订单。(5)多途径综合检索网上书店主要提供分类和自定义搜索的方式对图书进行查找。(6)个性服务网上书店不只单纯销售图书,还充分发挥网络优势,提供丰富多彩的个性化服务,满足读者特定的需求。网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,既使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。2 系统开发技术2.1 MVC模式简介MVC是Model(模型)View(视图)Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。如下图所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:图1 MVC模式2.2 Struts是实现MVC模式的框架设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由Java Bean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Strutsconfig.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Strutsconfig.xml是与Struts相关的特殊信息配置的描述文件。3 需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。3.1 可行性分析开发任何一个基于计算机的系统都会受到时间和资源的限制。因此在开发软件项目之前,必须根据可利用的时间和资源等条件进行可行性研究。可行性研究工作的主要任务不是研究如何解决问题,而是要用最小的代价在最短的时间内确定该项目是否具有开发的可行性。(1)技术可行性:本网站严格按照MVC设计模式来开发,采用JSP、Struts2、Spring和Hibernate等一些JAVA Web相关技术实现。Java语言是一种优秀的编程语言。它最大的优点就是与平台无关,在Windows 、Linux以及其它平台上,都可以使用相同的代码。“一次编写,到处运行”的特点,使其在互联网上广泛采用。JSP+JavaBeans几乎可以在所有平台上通行无阻,从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译。除此之外Java语言还提供了一些有用的新特性,使得使用Java语言比C+语言更容易写出“无错代码”。(2)经济可行性:选择图书做本购物系统的主打商品,因为图书属于折扣大利润丰厚的商品,而且网上书店不需要门面等成本开销,故大大降低其价格。加之传递方便、耐存储,故网上卖书具有比传统书店更大的成本优势。有较大的客户群,本网站的商品主要为各类教材,销售对象主要是学生,故存在很大的市场。3.2 系统需求分析通过对系统的分析及对其他网店的参考,基本确定了“网络书城”的基本功能以及基本性能的基本需求。3.2.1 功能需求这方面的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能。(1)图书查询:当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者名称快速查询所需书目信息的功能。(2)购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。(3)订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。(4)会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关信息。3.2.2 性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。(1)用户在客户端点击存在服务器中的主页时,系统能快速响应。(2)在安全性方面,Java程序要满足客户传输信息的基本安全。3.3 数据流程分析3.3.1 顶层数据流图说明:未注册用户通过注册后可以登录到前台进行购书,管理员通过登录可以进入后台进行管理。系统顶层数据流图如下图所示。图2 系统顶层数据流图3.3.2 第一层数据流图前台购书和后台管理。根据顶层数据流图,对前台购书和后台管理模块作进一步分解,得到第一层数据流图。(1)前台购书用户登录后进行书籍浏览和查询,对书籍信息有了一定了解后可根据自己的需求进行购书,购书后将所需书放入购物车,最终确定要购买的图书,提交订单,等待订单的处理结果。系统第一层数据流图(前台购书)如下图所示。图3 系统第一层数据流图(前台购书)(2)后台管理管理员可以登录到后台,查看相关的订单信息,然后修改订单的信息,主要是审核订单的有效性。系统第一层数据流图(后台管理)如下图所示:图4 系统第一层数据流图(后台管理)3.3.3 第二层数据流图用户登录处理。为保证数据的有效和客户的管理,系统必须登录后才能进行购买图书的相关操作,登录是系统安全和数据有效性验证的第一部分。系统第二层数据流图(用户登录)如下图所示:图5 系统第二层数据流图(用户登录)384 系统总体设计4.1 系统设计目标本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。4.2 系统模块设计4.2.1 系统结构设计系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。网上书店不是一个简单的概念 ,它包含了许多个内容,是由多个页面组成的一个整体的系统。(1)在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面 ,通过鼠标或键盘的操作 ,为用户提供最简洁的使用方法。(2)在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。(3)在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,具有完善的系统和数据安全的保障体系。根据MVC的设计思想,可以得出如图所示的系统结构设计图。图6 系统结构设计图4.2.2 系统模块设计网上书店系统主要是实现以下两个功能:一是客户在网上查书,选书,购书和产生订单等功能。二是后台的图书管理功能,包括图书种类的管理和图书的管理。一个典型的网上书店一般都有需要实现商品信息的动态展示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。根据需求分析可以分为五大功能模块,如图所示:该网站的功能模块如下表所示:表1 网站的功能模块功能模块功能概述图书信息管理该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。会员管理实现网上书店客户信息的注册及身份验证。由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的真实姓名,通信地址和联系方式等信息。订单管理实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。图书管理该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。5 系统详细设计5.1 系统功能模块设计本网站系统包括两大部分,前台和后台。用户只能使用前台的各项功能包括注册、登录、购物、收藏、浏览书籍信息等;后台只有管理员才能使用,对网站进行综合管理使其动态更新。下图为系统前台主要业务流程与系统前台主要业务流程:图7 系统前台主要业务流程图8 系统后台主要业务流程5.1.1 用户登录模块这里介绍用户登录的程序设计思路,数据库中存放有用户的基本信息,用户在网站中输入相关信息,通过匹配检测,便可以知道数据的有效性。下面是登录程序流程图,如下图所示:图9 登录程序流程图5.1.2 用户注册模块注册模块,会出现在很多程序中,这里借鉴了其他注册程序的流程。注册模块的核心思想是向数据库中输入数据,并且数据要不能重复,下面是注册模块的程序流程图如下图所示:图10 注册程序流程图5.1.3 管理员功能模块网站管理员登录到管理员界面后,可以对图书数据进行添加,修改,删除操作,管理图书信息,方便管理员和用户浏览图书信息,管理员可以添加需要上架的新书以不断的补充书店的图书,让书店的图书更加丰富,对于已经明显显示出下滑趋势的图书,管理员可以进行删除处理,之后用户便不能再看到该书的信息。管理员可以添加公告信息等。5.1.4 图书信息管理模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。主要分为两大部分,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到es_bookshop数据库中的es_book数据表。下面是图书展示设计流程图,如下图所示:图11 图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。再一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es_bookshop数据库中的es_book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开es_book数据表,并按照用户指定的方式和关键字信息将es_book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入部分信息即可。5.1.5 购物车管理模块购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。本次将以session技术、cookie技术来实现购物车。(1)优点占用系统资源少,我们可以把数据库安置在一台电脑中,Web服务器安置在另一电脑中,系统资源充分发挥。购物车中数据可以得到有效保留,我们可以试想一客户在购物时,突然某其他原因(死机等原因)离开了购物站,他在购物车中数据有效保留下来,他下次登录时购物车中还有上次保留的数据,避免用户再次选购商品的操作(此功能只对登录用户的购物车有效),要是用会话实现购物车,所有用户一旦离开站点,他的购物车中数据全部失效。(2)实现数据库及 session准备。购物车是网上书城必需的一项功能。主要用于记录客户购买的图书编号、书名、出版社、作者、数量、单价等信息,并且应该计算出总价及打折后应付的金额,以便用户随时掌握自己的购买信息。本系统实现购物车时使session技术和数据库。对于用户的购买信息主要用session来记录,购买结束后再一起提交到数据库中,另打折信息是由数据库统一管理的,它是和图书入库一起完成的。这里要注意的是购物车也可以不使用session,而直接把信息写到数据库中,这样做比较简单,但由于每次选购都要将信息写入数据库中,这样将给服务器带来很大的负担。如果有很多用户同时在购书,就很容易使服务器瘫痪。所以基于以上考虑,我们采用session对象。购物车功能定义。购物车是客户在书店中实施购买活动的辅助工具,购物车性能的优劣在某种程度上也会影响购买者的购买情绪和行为。因此在设计购物车时不仅要考虑功能的多样性也要考虑购物车的实用性。本次对购物车的功能如下功能:1)存放客户选好的图书2)可以随时改变是否要购买3)可以随时改变购买的数量 4)可以显示目前购物车中的图书的金额处理逻辑。在购物车信息显示页面中,将显示客户所选的图书信息,在该页面中,客户可以指定选购数据量,也可以将对应商品从购物车中删除。此外,在该页面中也可以返回数目显示页面继续购物,或者清空整个购物车。如果用户确定购物车信息后,可以单击【提交订单】,进入订单确认页面,选择送货方式以及付款方式。下面是购物车程序流程图,如下图所示:图12 购物车程序流程图5.1.6 订单管理模块实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。(1)cookie信息及数据库准备生成订单是购书者购书的最后一步了。为了将图书送到客户手中,必须要求客户输入自己的信息(包括送货信息)本次在处理购书信息时采用cookie保存客户的注册信息,还有一些客户的信息在填写订单时一并完成的。购书结帐时会涉及到多个数据表的操作,如es_book表、es_order表、es_orderItem表。(2)处理逻辑在该页面中,客户可以依据表单提示,选择送货方式和付款方式,确认对应选择后,单击【确认】进入订单确认页面。客户确认订单对应的信息后,再单击【生成订单】,将生成客户这次购买图书的订单。如果成功则跳转到订单成功生成页面,一次购物过程基本完成,如单击【返回购物车】则可以继续选购其他图书。下面是生成订单流程图,如下图所示:图13 生成订单流程图本模块是系统的核心,主要负责订单的审查,是订单的流程最后一个环节,也是最重要的一个环节。书店的任何数据都和订单数据有直接或者间接的关系,有效的订单和书店的经济利益有直接的关系,收入和支出都是由订单引起的。程序当中也严格限制数据的有效性,无效数据不会录入到数据库中。5.1.7 添加图书模块该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。该页面具有权限,只有管理员可以进入,普通客户没有此权限。(1)数据库准备图书管理模块的目的是为了实现网上书店中图书信息的添加,修改及删除。该操作涉及到es_bookshop数据库中的es_book数据表和es_category数据表。(2)数据处理逻辑该页面进入时会弹出登录对话框,只有正确的管理员姓名和密码才可进入。进入页面后,管理员可以根据书店的图书情况对所有图书进行添加,修改或删除。下面是图书管理流程图,如下图所示:图14 图书管理流程图5.1.8 图书查询模块该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。主要分为两大部分,图书展示和图书查询。(1)图书展示数据库准备。图书展示和图书查询是将网上书店中的图书有序地罗列出来。该操作涉及到es_booshop数据库中的 es_book数据表。下面是图书展示设计流程图,如下图所示:图15 图书展示设计流程图(2)图书查询图书查询在网上书店中也是一项很重要的功能,主要帮助用户快速地找到想要购买的图书。在一个规模较大的书城中,如果没有这项功能,用户很难找到所需要的图书,那么这个网上书城的吸引力将会因此大大降低。同时好的搜索功能将会带来更多的用户青睐。为适合不同的拥护的需求,本次采用模糊查询的方法为用户提供方便的图书查询。数据库准备。查询图书模块的目的是为了帮助用户快速找到想要购买的图书。由于用户对书城中的图书情况不可能十分清楚,因此采用了模糊查询的方法,只要用户输入了相关的少量信息就可以查询到相应的结果。该操作涉及到es_bookshop数据库中的es_book数据表。另外在模糊查询时使用了数据库系统的like运算符。处理逻辑。处理过程首先建立数据库连接,打开es_book数据表,并按照用户指定的方式和关键字信息将es_book 数据表中满足要求的图书信息显示出来。为了适合用户的不同要求,本次提供了四种查询方法,可按照书名、出版社、作者、ISBN等方式查询,并且查询方法采用模糊查询的方法,这样用户在输入查询信息时只需输入部分信息即可。5.2 数据库设计5.2.1 数据库的需求分析依据网上书店的处理需求,对应数据表的设计及功能如下:(1)买家表:存放书店客户的基本信息。(2)图书分类表:存放网上书店所提供图书分类的信息。(3)图书表:存放网上书店所销售图书的基本信息。(4)订单表:存放与客户相关的订单的基本信息。(5)订单项表:存放订单中订单项的基本信息。5.2.2 数据库的逻辑设计根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图所示:Es_useruserId bigint loginName varchar(128) password varchar(32) email varchar(128) nickName varchar(128) question varchar(128) answer varchar(128) addressId varchar(32),address varchar(128) telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigintlastModifiedTimestamp bigintEs_bookbookId bigint bookName varchar(128) author varchar(128),number int,originalPrice Decimal(10,2) realPrice Decimal(10,2) publisher varchar(256)description text coverImagePath varchar(256) createdTimestamp bigint lastModifiedTimestamp bigint categoryId bigint Es_orderorderId bigint orderNo varchar(128) status smallint description varchar(128) amount Decimal(10,2) number int createdTimestamp bigint lastModifiedTimestamp bigint userId bigint receiptAddressId bigintEs_categorycategoryId bigint superior bigint booksNum bigintcategoryName varchar(128) createdTimestamp bigint lastModifiedTimestamp bigint lastModifierId bigintlastModifierName varchar(128)orderNo int Es_orderItemorderItemId bigint number int amount Decimal(10,2) orderId bigint图16 数据库逻辑图其中图书表中的分类编号“categoryId”与图书分类表中的“categoryId”为相关字段。订单表中的“orderId”与订单项表中的“orderId”是相关字段,而订单表中的“userId”与买家表中的“userId”相关。5.2.3 创建数据表脚本在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。(1)买家信息表:create table es_user(userId bigint auto_increment primary key not null,loginName varchar(128) not null unique,password varchar(32) not null,email varchar(128) unique,nickName varchar(128) comment 昵称,question varchar(128) comment 密保问题,answer varchar(128) comment 密保答案,addressId varchar(32),address varchar(128) comment 记录省市,telephone varchar(32),mobilePhone varchar(32),previousLoginTimestamp bigint,currentLoginTimestamp bigint,registeredTimestamp bigint not null,lastModifiedTimestamp bigint not null);(2)图书分类表:create table es_category(categoryId bigint auto_increment primary key not null,superior bigint,booksNum bigint,categoryName varchar(128) not null unique,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,lastModifierId bigint,lastModifierName varchar(128),orderNo int);(3)书籍信息表:create table es_book(bookId bigint auto_increment primary key not null,bookName varchar(128) not null,author varchar(128),number int,originalPrice Decimal(10,2) comment 原价,realPrice Decimal(10,2) comment 实价,publisher varchar(256),description text comment 简介,coverImagePath varchar(256) comment 封面图,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,categoryId bigint not null comment 所属分类);(4)订单表:create table es_order(orderId bigint auto_increment primary key not null,orderNo varchar(128) comment 订单号,status smallint not null comment 1、未付款;2、等待发货;3、已发货;4、已收货,description varchar(128) comment 订单描述,amount Decimal(10,2) comment 总额,number int not null comment 数量,各订单项中数量总和,createdTimestamp bigint not null,lastModifiedTimestamp bigint not null,userId bigint not null comment 用户,receiptAddressId bigint comment 收货地址);(5)订单项表:create table es_orderItem(orderItemId bigint auto_increment primary key not null,number int comment 数量,amount Decimal(10,2) comment 金额,orderId bigint not null comment 订单); 6 系统测试6.1 配置测试环境(1)JDK下载和安装:第一步:进入SUN公司JAVA的JDK 1.5版本免费安装程序,下载主页地址:单击download,进入下载协议,选择接受协议。第二步:JDK安装程序:我安装的是: j2sdk-1_5_0-windows-i586-p.exe第三步:安装JDK的目录,在些设为e:jdk(2)TOMCAT下载和安装:第一步:登陆 http:/jakarta-第二步:下载tomcat程序。安装的是:jakarta-tomcat-5.0.19第三步:在安装tomcat时,要选择custom形式第四步:安装tomcat时,目录设为e:tomcat(3)在安装完JDK和tomcat后,要设置“控制面板”中的系统特性中的环境变量:增加变量CLASSPATH,它里面的内容为:e:jdklibtools.jar;e:jdklibdt.jar图17增加变量JAVA_HOME,内容为:e:jdk图186.2 测试结果测试结果如下各界面所示:图19 首页显示图 图20 商城书籍列表图图21 图书详细信息图图22 购物车信息图23 查询结果图24 登录页面图25 注册页面图26 确认订单图27 买家付款图28 订单列表图29 订单详情结 论本设计实现了在Struts框架下,开发一个网上书店系统。网上书店主要包括前台客户操作和后台管理员管理两部分。前台客户操作主要实现用户的注册和登录,按分类浏览图书,对图书进行评论,使用购书帮助文档,查看购物车,下订单,查看订单,修改用户个人资料,修改用户密码等。后台管理主要实现对数据库中的书籍信息,用户信息以及订单信息的维护。经过多日的开发,本网站的建设基本完成,各项功能也能够正常使用,但是由于能力和时间有限,所以该系统还有许多不尽如人意的地方,比如说功能不够丰富,没有对部分功能进行细化,对数据的安全性考虑不多等,这些都有待改进。此次设计过程真的让我受益匪浅:(1)学到了很多新知识,并且对老知识进行了回顾。经过长时间的学习,更进一步熟悉了Java语言。(2)通过不断上机实验,调试程序,总结经验,从对课题的不理解到能够开始动手去做,提出问题并自己想办法解决问题,增强了动手能力。(3)提高了中、英文资料的检索能力。这次毕业设计过程中我查阅了很多资料,不但有图书馆的期刊、杂志、馆藏图书,还有网络中的电子文档、电子书籍及视频教学课程;不但有中文资料还有英文资料。这些资料,使我的眼界更加开阔,对课题的认识更加深刻,编写程序时的思路更加清析,少走了很多弯路。回顾这个设计过程,我学到了许多书本上没有学到的知识。不仅丰富了自己的实践技能,扩展了本专业的知识面,同时也体验到了软件开发时的无穷乐趣。在以后的生活和工作中,我一定会更加努力,实现自己的人生价值!参考文献1孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发.北京:电子工业出版社,2004.112万峰科技.JSP网站开发四“酷”全书:新闻、论坛、电子商城、博客.北京:电子工业出版社,2005.93张桂元,贾燕枫.Struts开发入门与项目实践.北京:人民邮电出版社,2005.12 4孙卫琴.Tomcat与Java Web开发技术详解.北京:电子工业出版社,2003.115吴其庆.Java模块设计实例经典.北京:冶金工业出版社,2004.6 6美坎瓦思(Cavaness,c.)著,孙江宏,杨继萍译.Jakarta Struts编程.北京:清华大学出版社,2004.47美James Turner,美Kevin Bedell著,孙勇译.Struts kick start中文版.北京:电子工业出版社, 20048 美Deitel H.M.,Deitel P.J.Listfield J.A.等著. Java大学简明教程实例程序设计.北京:电子工业出版社,20059 张锋科技,陈刚著.Eclipse从入门到精通(Java开发利器).北京:清华大学出版社,2005.610柯温钊著.Java例解教程. 北京:中国铁道出版社,2004.111 (美)蒙纳克斯著.J2EE快速开发.北京:机械工业出版社,2005.1012明日科技,王国辉,王易编著. JSP数据库系统开发案例精选.北京:人民邮电出版社,2006.513刘甲耀等编著. Core Java 高级应用程序设计教程.北京:电子工业出版社,2006.314宁可著.数据库技术与应用.北京:清华大学出版社,2006.115 James Gosling著. Java 语言规范(英文版第3版).北京,机械工业出版社,2006.5.1 致 谢论文得以完成,要感谢的人实在太多了,首先要感谢XXX老师,因为论文是在老师的悉心指导下完成的。老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,平易近人的人格魅力对我影响深远。本论文从选题到完成,很多都是在老师的指导下完成的,倾注了老师大量的心血。在此,谨向老师表示崇高的敬意和衷心的感谢!谢谢老师在我撰写论文的过程中给与我的极大地帮助。同时,论文的顺利完成,离不开其它各位老师、同学和朋友的关心和帮助。在整个的论文写作中,各位老师、同学和朋友积极的帮助我查资料和提供有利于论文写作的建议和意见,在他们的帮助下,论文得以不断的完善,最终帮助我完整的写完了整个论文。 总之,此次毕业设计,我收获了很多,既为大学生活划上了一个完美的句号,也为将来的人生之路做了一个很好的铺垫。 再次感谢我的大学和所有帮助过我并给予我鼓励的老师,同学,朋友以及家人,谢谢你们!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!