基于JSP的网上图书销售系统的设计与实现本科毕业论文终稿.docx
《基于JSP的网上图书销售系统的设计与实现本科毕业论文终稿.docx》由会员分享,可在线阅读,更多相关《基于JSP的网上图书销售系统的设计与实现本科毕业论文终稿.docx(48页珍藏版)》请在冰点文库上搜索。
基于JSP的网上图书销售系统的设计与实现本科毕业论文终稿
基于JSP的网上图书销售系统的设计与实现本科(毕业论文终稿)
原创性声明
本人郑重声明:
本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。
毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。
除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。
对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。
本声明的法律责任由本人承担。
论文作者签名:
日期:
关于毕业论文使用授权的声明
本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。
本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。
如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。
本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。
论文作者签名:
日期:
指导老师签名:
日期:
网上图书销售系统的设计与实现
摘要
计算机和网络技术的飞速发展,对传统的商品交易形式和流通方式产生了极大的影响。
人们通过互联网进行网上交易,足不出户的获得想要的各种商品。
随着人们对信息的获取方式和获取途径的改变,对传统的图书销售带来挑战,图书很适合网上销售,因此网上图书销售系统的开发具有重要意义,建立相应的网上图书销售系统显得尤其必要。
该论文首先研究了与本设计相关的MVC设计模式、JDBC、JSP和Servlet技术,学习了MySQL和MyEclipse8.0开发工具的使用;分析了系统功能需求、性能需求和安全需求;建立了系统的总体设计方案,并在此基础上对系统的主要功能模块、数据库和接口进行了详细的设计,最后实现了系统所具有的前台和后台管理两大基本功能模块。
前台的主要功能有图书查询、用户注册登录、购物车和下订单,后台管理的主要功能有图书管理、图书分类管理和订单管理。
系统经测试和运行后达到设计要求。
设计并实现的网上图书销售系统结构分明、操作方便,基本上具备一个网上商品销售系统应该具备的常用功能,但是由于知识水平有限,该系统只是实现了网上图书销售功能的一个小型平台,对于网上支付的功能并没有实现,在实际应用时还不够完善,同时下订单的功能还需要改进。
关键词:
图书销售,图书查询,购物车,JSP
TheDesignandImplementationofTheOnline-booksellingSystem
Abstract
Therapiddevelopmentofcomputerandnetworktechnology,hasgreatlyinfluencedthetraditionalformofcommoditytradingandcirculation.MoreandmorepeopleconductonlinetransactionsviatheInternet,stayingathometogetthedesiredgoods.Withthechangeofpeopleaccesstoinformationandaccessto,challengesthetraditionalbooksales.Thebookisverysuitableforonlinesales,sotheonline-booksellingsystemdevelopmentisofgreatsignificance,theonline-booksellingsystemisparticularlynecessary.
ThepaperfirstresearchedthekeytechnologiessuchastheMVCdesignpattern,JDBC,JSPandServlet,studiedthedevelopmenttoolsasMySQLandMyEclipse8.0;Analysisthefunctionalrequirements,performancerequirementsandsecurityneedsofthesystem;Toestablishaoveralldesignschemeofthesystem,andonthisbasistodetailedplanninganddesignthesystem’smainfunctionmodule,databaseandinterfaces.Realizationofthefrontdeskmanagementandbackgroundmanagementtwobasicfunctionalmoduleswhatthesystemhas.Thefrontdeskfunctionmainlyhasbookquery,userregistrationandlogin,viewtheshopping-cartandtheorder.Thebackgroundfunctionshasbookmanagement,categorymanagementandordermanagement.Aftertestingandoperation,thesystemmeetthedesignrequirements.
Thedesignandimplementationoftheonline-booksellingsystemhasclearstructureandeasytooperate,basicallyhavethecommonfunctionswhatanonlinemerchandisesalessystemshouldhave,butduetothelimitedknowledge,thesystemonlytherealizationofasmallplatforminthefunctionofonlinebooksales,doesnotimplementforonlinepayment,notperfectinpracticalapplications,whiletheorderfunctionsneedstobeimproved.
Keywords:
Booksales,Queryofbook,Shopping-cart,JSP
1绪论
随着时代的发展,信息技术、Internet/Intranet技术、数据库技术的不断发展完善,网络进程的加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,使得企业的IT部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。
我的毕业设计也就正是一个电子商务系统的开发——网上图书销售系统。
1.1研究背景及意义
近年来,随着人类社会进入信息化时代步伐的加快,Internet从过去主要用于科研和简单信息的发布向商业化大踏步迈进,广大的商家和用户从各自不同的角度都希望Internet能够带来更大的实惠,用户对Internet的应用需求也有了根本性的变化,基于Internet的电子商务正方兴未艾并逐渐成为Internet商业化发展的重要内容。
电子商务就是各参与方之间以电子方式而不是以物理交换或直接物理接触方式完成任何形式的业务交易。
从宏观上讲,电子商务是指在通过电子手段建立一个新的经济秩序,它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等社会其它层面;从微观角度上来说,电子商务是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消息者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。
网上购物,即OnlineShopping,就是电子商务所包含的三大种类之一。
电子商务的起源主要基于三个方面,即:
社会发展的需求,人的知识与技能的提高和系列化、系统化的高效电子工具的推广。
事实上,电子商务并非是一种新生事物。
早在上个世纪70年代,电子数据交换和电子资金传送作为企业问电子商务应用的系统雏形就已经出现了。
Internet的发展为电子商务的发展奠定了基础,随着Internet的高速发展,电子商务的旺盛生命力日益显露,Internet的强劲发展和网络应用在全球范围内的普及,为电子商务的发展奠定了良好的基础。
Internet的发展在环境、技术和经济上都为电子商务创造了条件。
电子商务将成为2l世纪全球经济增长的驱动力,原因在于电子商务的高效及准确性。
它不但可以增进企业生产力,还能开创服务贸易的前景,最重要的是,网络世界容许一向处于资源弱势的中小企业能开拓全球市场,使得整个业务领先一步,且比过去充满挑战性。
电子商务的概念引入我国的时问不长,但发展势头强劲。
近年来,中国发展电子商务的环境(网络基础建设等运行环境、法律环境、市场环境、网上支付、信息安全、认证中心建设等条件)逐步完善已为电子商务的发展建立了基本的条件。
但是由于国家发展电子商务还缺乏明确有力的技术经济政策,电子商务法律法规、电子商务标准、规范严重滞后,信息技术在企业与家庭中应用不够普及,管理体制、机制、管理理念与组织机构尚不能适应市场经济的要求等因素,严重制约了电子商务在国内的前进步伐。
研究认为,电子商务基础还比较薄弱的我国,正在迎接电子商务时代的到来[1]。
电子商务的发展己是大势所趋,我们既不能因为当前的基础环境不理想而坐失良机;也不能不顾国情现状盲目跟进。
关键要更新观念,充分认识电子商务的潜力,在法律法规上、技术上、人文环境上做好充分准备,并逐步进行试点,这是非常必要的。
中国互联网络信息中心(ChinaInternetNetworkInformationCenter,简称CNNIC)统计报告显示,截至2010年12月底,中国网民规模达到4.57亿,较2009年底增加7330万人;最引人注目的是,网络购物用户年增长48.6%,是用户增长最快的应用,预示着更多的经济活动步入互联网时代。
截至2011年6月,中国网民规模达4.85亿,较2010年年底增加2770万人;互联网普及率攀升至36.2%,较2010年提高1.9个百分点。
有60.6%的网民浏览过购物网站,有17.9%的网民有过网络购物经历。
可以这样认为网上购物是将来最有希望的网上事业。
因此,开发功能强大、性能完善的网上购物系统具有十分重要的意义和价值。
基于以上电子商务的特点,书籍很适合网上销售,人们可以通过登陆网站浏览书籍的目录、价格等介绍,很容易挑选自己喜欢的书籍,因此本设计——网上图书销售系统具有十分广泛的应用价值。
1.2论文主要工作和结构安排
论文首先介绍本设计的研究背景、现状及意义,开发本系统所用到的关键技术及开发工具;然后建立网上图书销售系统的总体设计方案,对系统主要功能模块和数据库进行了详细的设计;重点实现网上图书销售系统的用户模块和管理员模块。
围绕以上内容,本文主要由以下六部分组成:
第一章,介绍了电子商务的发展、本文研究的内容意义和论文完成的主要工作。
第二章,对系统相关技术和工具进行介绍。
第三章,系统的分析及总体设计。
本文在系统需求分析的基础上,对系统的架构、系统的功能进行设计。
第四章,系统的实现以及对数据库进行设计。
第五章,介绍系统各个模块的具体实现和操作流程。
第六章,对系统开发做出总结。
1.3小结
本章首先介绍了网上图书销售系统的研究背景、现状及意义,通过对电子商务的起源、发展现状和前景的介绍得出结论:
网上图书销售系统的开发具有十分重要的意义。
本章然后介绍了论文的主要工作和结构安排并列出了各个章节的主要内容。
2开发技术和工具
软件开发的实现过程离不开开发技术,本章主要介绍系统开发过程中使用的开发技术和开发工具。
通过对开发技术和工具的深入研究,为系统的分析设计与实现做好知识准备。
2.1相关技术
2.1.1MVC设计模式
MVC是三个单词的缩写,分别为:
模型(Model),视图(View)和控制(Controller)。
MVC模式的目的就是实现Web系统的职能分工。
Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作[2]。
MVC设计模式具有如下的优点:
1.低耦合性。
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。
因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
2.高重用性和可适用性。
随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。
MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。
它包括任何WEB(HTTP)浏览器或者无线浏览器,比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。
3.较低的生命周期成本。
MVC使开发和维护用户接口的技术含量降低。
4.快速的部署。
使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。
5.可维护性。
分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
6.有利于软件工程化管理。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。
2.1.2JDBC
JDBC(JavaDatabaseConnectivitystandard,简称JDBC),它是一个面向对象的应用程序接口(ApplicationProgrammingInterface,简称API)通过它可访问各类关系数据库。
JDBC也是java核心类库的一部分。
JDBC的最大特点是它独立于具体的关系数据库。
与ODBC(OpenDatabaseConneetivity,简称ODBC)类似,JDBCAPI中定义了一些Java类分别用来表示与数据库的连接(connections)、SQL语句(SQLstatements)、结果集(resultsets)以及其它的数据库对象,使得Java程序能方便地与数据库交互并处理所得的结果。
使用JDBC,所有Java程序(包括Javaapplications,applets和servlet)都能通过SQL语句或存储在数据库中的过程来存取数据库[3]。
要通过JDBC来存取某一特定的数据库,必须有相应的JDBCdriver,它往往是由生产数据库的厂家提供,是连接JDBCAPI与具体数据库之间的桥梁。
通常,Java程序首先使用JDBCAPI来与JDBCDriverManager交互,由JDBCDriverManager载入指定的JDBCdrivers,以后就可以通过JDBCAPI来存取数据库。
2.1.3JSP技术
JSP(JavaServerPages,简称JSP)是由Sun公司在Java语言上开发出来的一种动态网页制作技术,它提供了一种建立动态网页的简单方法,并为开发人员提供了一种Server端框架。
JSP是结合markup(HTML或XML)和Java代码来处理的一种动态页面。
每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时执行编译过的Servlet。
JSP提供了多种方式访问,如Javaclass、Servlet、Applets和WebServer,因此Web应用分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。
这种模式允许工作分成两部分:
组件开发与页面设计和编译,使得业务逻辑和数据处理分开。
基于JSP的电子商务可以利用MicrosoftSQLServer、Oracle或Sybase等大型数据库系统作为后台数据库,用Servlet服务器端作为后台总控程序,JSP在前台运行,Servlet接受用户的输入,分别调用不同的JSP程序向客户端反馈信息,JSP/Servlet通过HTTP连接在服务端的客户端传递数据。
JSP/Servlet并不使用JDBC技术直接访问数据库系统,面是把参数传递给事先编好的JavaBeans和EJB组件,由他们对数据库进行操作,把系统内部的数据封装保护起来。
JavaBeans和EJB组件还可以把事务分发到另一个组件中去处理,最后把数据库返回的结果由JSP/Servlet送到前端显示出来[4]。
JavaServlet是一个基于Java技术的运行在服务器端的程序,与JavaApplet不同,后者运行在浏览器端。
开发人员可以编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态生成包含HTML或XML文档的响应,然后发送到浏览器。
JSP使用Java作为脚本语言,JSP文件是一些JSP定义的标记和Java程序段以及HTML标记的混合体。
它具有如下的特点:
1.内容动态生成和显示分离
与ASP类似,JSP脚本在服务器端运行。
在服务器端,JSP引擎解释JSP标记和脚本,生成所请求的内容,并将结果以HTML或XML页面的形式发送回浏览器。
这有助于保护作者自己的代码。
2.强调可重用的组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者EnterpriseJavaBeans)来执行所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件。
3.采用标识简化页面开发
标准的JSP标识能够访问和实例化JavaBean组件,设置或者检索组件属性以及下载JavaApplet等。
通过开发定制化的标识库(TagLibrary)可以扩展JSP,第三方开发人员可以创建自己的标识库。
2.1.4Servlet
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机[5]。
装载Servlet。
这项操作一般是动态执行的。
然而,Server通常会提供一个管理的选项,用于在Server启动时强制装载和初始化特定的Servlet。
对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给它。
如此重复以上的循环,但无需再次调用init()方法。
一般Servlet只初始化一次(只有一个对象),当Server不再需要Servlet时(一般当Server关闭时),Server调用Servlet的Destroy()方法。
Servlet具有如下优点:
1.方便。
Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。
2.功能强大。
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。
例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。
Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
3.可移植性好。
Servlet用Java编写,ServletAPI具有完善的标准。
因此,为IPlanetEnterpriseServer写的Servlet无需任何实质上的改动即可移植到Apache、MicrosoftIIS或者WebStar。
几乎所有的主流服务器都直接或通过插件支持Servlet。
4.节省投资。
不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
2.2系统开发工具
2.2.1MySQL
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,2008年1月16号被Sun公司收购,2009年,SUN又被Oracle收购。
关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[6]。
MySQL系统特性及选择原因:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
2.支持AIX、Linux、MacOS、OS/2Wrap、Solaris、Windows等多种操作系统。
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
2.2.2MyEclipse
MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse功能强大,支持广泛,尤其是对各种开源产品的支持不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开