1、电子商务书店系统的设计与实现毕业设计论文电子商务书店系统的设计与实现【摘要】利用Jsp,Struts和Hibernate等开发技术,采用了结构化设计方法,进行了电子商务书店系统的开发。系统实现的功能有:新用户注册,用户登录,商品列表,商品分类,查询商品,特价商场,新品上市,用户留言以及购物车和订单管理等,并实现了后台管理员对商品、订单、会员等的管理。首先分析了系统的业务流程和数据流程,接着进行数据库分析并建立了完整性强、安全性好的数据库,最后设计了系统的框架并编程实现应用系统,并通过Junit进行了测试。【关键词】 网上书店;JSP;Struts;Hibernate ; MySQLDesign
2、 and Implementation of Electronic Commerce Bookstore SystemSHAO Xu-Dong(Grade 07,Class 1, Major Information Management and Information System, Computer Science and Technology Dept., Shaanxi University of Technology, Hanzhong 723000, Shaanxi)Tutor: YANG GangAbstract: The Development of Electronic Com
3、merce Bookstore System with technology of Jsp,Struts and Hibernate and structured design method.It implement some functions as following,new users registration,user login,merchandise list, merchandise category,bargain market,new merchandise market,leave words,cart management and order management and
4、 so on.Besides,it implements the management of merchandise ,order and member from administrator. Fisrtly, analyzing the flow-process and data flow on the system.Secondly, anylyzing database and building a complete, safe database. Lastly, designing a system frame to implement the application system a
5、nd past the test of the Junit. Key words: Online Bookstore; Jsp; Struts; Hibernate;MySQL毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期
6、: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识
7、到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日引 言 随着信息技术在国际贸易和商业领域的广泛应用,利用计算机技术、网络通信技术和Internet来实现商务活动的国际化、信息化和无纸化,已成为各国商务发展的大趋势。 电
8、子商务(ElectronicCommerce)正是为了适应这种以全球为市场的变化而出现和发展起来的。它可以使销售商与供应商更紧密地联系起来,以更快地满足客户的需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售图书。电子商务基于网络技术网络技术提供了实现电子商务的技术平台,而电子商务是网络技术的最新应用和最终目标。 从形式上看,电子商务利用计算机网络检索和获取信息,对个人和公司提供决策服务,解决了组织、商家和客户的需求,减少了用于改善货物和服务质量的投入,加快了商品交易的速度。Internet正在将不同形式的电子商务结合起来,产生出许多创新的、混合的电子商务形式。 从电子商务的目标上
9、看,电子商务能够扩大顾客群,获取更高收益,开拓目标市场,节省费用和开支,加速商品流通,加快顾客信息反馈,并提高服务质量。在过去的几年间,随着Internet的迅速发展,通过网络使在家庭办公的个人用户也积极投入到了电子商务中。由于激烈的市场竞争和对成本的关注,大量企业正在改进原有的电子商务系统来支持新兴的网络经济。1 开发工具的选择及相关技术简介1.1 数据库软件MySQL MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序,另外
10、,MySQL在UNIX等操作系统上是免费的,在Windows操作系统上,可免费使用其客户机程序和客户机程序库。所以是一个首选的数据库软件。1.2 主要开发环境软件MyEclipse MyEclipse是一个专门为Eclipse设计的商业插件和开源插件的完美集合。MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,很大程度上解决了各种开源工具的不一致和缺点问题,并大大提高了Java和JSP应用开发的效率。 MyEclipse的实际价值来自其发布的大量的可视化开发工具和实用组件。如CCS/JS/HTML/XML的编辑器,帮助创建EJB和Struts项目的向导并产生项目的
11、所有主要的组件如Action/Session Bean/Form等,此外还包含编辑Hibernate配置文件和执行SQL语句的工具。 此外MyEclipse还包含大量由其他组织开发的开源插件,Genuitec增强了这些插件的功能并且撰写了很多实用文档便于开发者学习。1.3 服务器Tomcat Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 与传统的桌面应用程序不同,Tomcat中的应用程
12、序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的C
13、LASSPATH中,但那样移植和管理起来不方便。1.4 JAVA语言在网络上的应用Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是JavaApplet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着JavaServlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(
14、JavaServerPage)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择 Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用Java中相应的方法(method)获取该对象所代表的资源。1.5 JSP的基础Servlet技术JavaServlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用
15、程序的开发需要JavaServlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用JavaServlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Se
16、rvlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合JavaServlet规范,Servlet是完全平台无关且是Web服务器无关的。由于JavaServlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此JavaServlet效率非常高。但JavaServlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,JavaServlet是利用输出HTML语句来实现动态网页的,如果用JavaServlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出J
17、avaServerPages的原因。1.6 Struts概述Struts框架工具是Apache基金会Jakarta项目中推出的一个子项目。Struts在英文中是支架、支撑的意思,这也体现出Struts在开发Web应用程序过程所起到的重要作用,Struts为Web应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时Struts框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用Struts可以简化遵循MVC设计模式的Web应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥JSP/Servlet
18、优点、并具有强可扩展性的Web应用。总之,Struts的出现使得Web应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。Struts架构一经推出,即受到Java开发群体的广泛重视,从2004年开始逐渐升温,并日渐成为Java创建Web应用开发的最流行的框架工具。1.7 Hibernate简介Hibernate是一个面向java环境的对象/关系数据库的映射工具。对象/关系数据库映射(ORM)用于把对象模型的对象映射到基于SQL的关系数据结构中去。Hibernate不仅管理java类到数据库表的映射,还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时
19、间。Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%的工作。对于以数据为中心的程序来说,它们往往只是在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方法;对于那些基于java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。2 需求分析2.1国内外现状二十一世纪是一个集数字化,网络化,信息化的,以网络为核心的社会。随着计算机科学的发展,网络技术和数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和以人为本的服务。1996年前后,在美国学术界提出“电子商务”(E-Bus
20、iness或E-Commerce)的概念短短几年的时间里,这一概念已在全球各地被广泛接受。简单地讲,电子商务是指利用电信网络进行的商务活动。现在,电子商务已经成为国际上各个国家制定经济政策的主要依据之一。网上书店就是一种典型的电子商务应用。网上书店随着信息时代的来临已经由上个世纪末的萌芽期转向发展高潮期和务实创新期。1)国外网上书店的现状国外网上书店主要分布在欧美等经济技术比较发达的国家和地区。起步早、规模大、发展快、数量多等,其中在90年代末期国外已有网上书店1000多家。亚马逊网上书店由美国人杰夫贝佐斯于1995年7月创立并开始营业,它是目前全球最大的在线图书店,而且将自己的势力扩展到欧洲
21、部分市场。目前亚马逊可以提供 470 万种图书目录及相关信息,拥有620万名网上顾客。可见其发展势头之猛。Borders 网上书店属于美国Borders集团有限公司的一部分。主要经营图书、杂志、音像制品、CD-ROM、DVD等商品1 000多万件。美国有许多图书馆,例如:纽约皇后区图书馆的新书就是从Borders网上书店订购。2)国内网上书店的现状(1) 起步晚、数量少。最早的网上书店是中国书店,建立于1995年,而后至1997年新华书店才建立网上书店。(2) 起步低,模式少。2000年评选出总体竞争力前5名网上书店是:当当网上书店、中国寻书网、上海书城网上书店、博库网上书店、全国购书网。(3
22、) 分布极不平衡。网上书店基本上集中在以北京为中心的地区,以及上海为中心的地区和广东为中心的地区。2.2 可行性分析通过对需求文档的各个方面进行了具体的了解和分析之后,现对开发电子商务网上书店系统的可行性进行分析。技术上可行:本系统采用Windows系列操作系统,开发工具使用功能强大的eclipse,服务器采用Apache公司的Tomcat,数据库采用MySQL5.5提供强有力的支持,这些软件在Java开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。经济上可行:由于使用开发工具大多是开源免费软件,基本上不需要额外支出,开发经费没有问题。管理上可行:本系统采用java编写,对平台没有
23、依赖性,可以部署在任意平台下管理。另外,本系统采用B/S架构,也可以通过实现远程管理。因此在管理上可行。 综上所述,开发电子商务网上书店系统在技术上、经济上、管理上都是可行的。2.3 系统功能分析根据电子商务书店的基本需求,本系统需要完成如下具体功能: 用户登录:用户登录主要体现在对权限的控制之上,对于没有注册的用户,不能让其进入系统,例如,绕过登录页面,直接在浏览器地址输入要访问的页面。会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息,所以会员注册的时候一定要填写自己的真实资料。商品列表:只有将商品展示给客户看,用户才能决定是否够发,是否值得购买,所以我
24、们设计了“新品上市”,“特价区”以及商品详细信息展示等功能。图书查询: 网上书店的书会有很多,如何让客户快速找到自己需要的书?针对这个需求,我们做了两方面的工作:第一,根据图书的用途,细分了23个大类,当用户进入系统后,可以通过首页对图书分类的链接直接找到自己关心的书籍,或者在页面的右上方可以通过下拉框选择图书类型进行搜索。第二,针对图书的一些其它特性,我们设计了关键字搜索,在页面右上方“商品关键字”中输入查找信息,然后点击“查找”,就可以快速找到需要的书籍。购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他
25、商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。2.4数据流图数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。因为数据流图是系统逻辑功能的图形表示,即使不是专业的计算机人员也容易理解它,所以它是分析员和用户之间极好的通信工具。如图
26、2.1所示,数据流图的四种基本符号和具体描述如下:数据的源点/终点变换数据的处理数据存储数据流图2.1 数据流图的基本符号通过对电子商务网上书店的经营模式和业务流程进行认真分析和研究的基础上,经过反复推敲论证,最后确定了该电子商务网上书店系统的逻辑模型。我们以数据流图和数据字典的方式来描述新系统的逻辑功能。该系统的数据流图如图2.2所示:图2.2 电子商务书店系统数据流图2.5 数据字典数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,从而使得用户和系统分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解。简而言之,数据字典是描述数据的信息
27、的集合,是对系统中使用的所有数据元素的定义的集合。下面的表是对各数据元素的详细说明: 数据项名称: 管理员信息 简述: 记录和保存管理员的基本信息 数据项组成: 管理员信息=管理员ID+管理员类型+管理员姓名+登录名+密码数据结构名称: 商品信息 简述: 记录和保存商品的基本信息 组成: 商品信息=商品ID+商品类型+商品名称+价格+特价+商品型号+图片+商品描述+出版社+出版日期+是否特价数据存储名称: 购物车信息 简述: 记录和保存购物车的基本信息 记录组成: 购物车信息=购物车ID+会员ID+总价+购物车状态 数据结构名称: 购物车选购商品信息 简述: 购物车选购商品的详细信息 组成:
28、购物车选购信息=选购信息ID+购物车ID+商品ID+数量+单价+合计 数据项名称: 商品类别信息 简述: 记录商品的类别信息 数据项组成:商品类别信息=商品类别ID+类别名称+类别描述数据项名称: 留言信息 简述: 记录会员的留言信息数据项组成: 留言信息=留言ID +会员ID+会员管理员ID+标题+留言内容+留言日期+回复内容+回复日期数据流名称: 会员信息 简述: 记录会员的基本信息数据流组成: 会员信息=会员ID+会员级别+用户名+密码+会员名+电话+地址+邮编+注册日期数据项名称: 会员级别 简述: 记录会员级别的详细信息 数据项组成:商品类别信息=会员级别ID+级别名称+折扣 数据存
29、储名称: 订单信息 简述: 记录订单的详细信息 记录组成: 订单信息=订单ID+会员ID+购物车编号+下单日期+订单状态 3 系统设计3.1 系统总体框架设计 根据电子商务网上书店的需求结合MVC架构思想的特点,决定采用如下方案进行设计:数据库层使用中间件Hibernate+MySQL数据库,业务层使用Struts,视图层使用jsp。 根据本次毕业设计需求结合Struts和Hibernate的特点,搭建了如下的框架: com.base 存放一些基础的java类,如 AjaxBean.java用于在注册时验证用户是否存在,输入是否合法等;BaseLog.java是一个注册了日志记录器的类,在Se
30、rvice的实现类中被继承,实现在控制台对日志的打印;BaseAction.java和BaseLog.java一样,是一个注册了日志记录器的java类,被Action继承,实现对日志的打印;Constants.java用于存储一些常用的常量。 com.filter 过滤器,只存放了一个过滤器CharacterEncodingFilter.java,实现对编码的过滤。因为本系统开发环境是中文,所以过滤器编码规则采用GB2312。 com.ORM ORM(Object Relation Mapping) java是一种面向对象的语言,而当今流行的数据库是关系型数据库,为了能以对象的方式操纵数据库中
31、的数据,诞生了Hibernate。ORM中,对象-关系的基本映射可以通过下表体现:表3.1 对象-关系映射表面向对象概念面向关系概念类表对象表的行(即记录)属性表的列(即字段) com.service 业务层,在这一层定义和实现了管理员和用户可以执行的一系列操作,以及管理员对购物车,商品,订单,用户以及留言板的管理等一系列操作。 com.struts 这里主要存放一些struts的资源文件,struts中实现国际化就需要这些文件,由于时间仓促,本系统没有实现国际化。 com.struts.action 从业务层中拿数据,为jsp页面准备数据,可以有一定业务逻辑的处理。 com.struts.form 表单,struts中特有的结构,方便从jsp中拿取提交数据和向JSP页面传递数据。3.2 数据库设计3.2.1 概念结构设计根据以上需求分析进行初步设计可以画出本系统实体间关系的E-R图,如图3.1所示,系统中包括管理员、购物车、选购信息、商品类别、留言信息、会员、会员级别、商品、订单等9个实体。图3.1 会员E-R图图3.2 商品E-R图图3.3 前台E-R图图3.4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1