网上书店的设计与实现毕业设计论文.docx
《网上书店的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《网上书店的设计与实现毕业设计论文.docx(80页珍藏版)》请在冰点文库上搜索。
网上书店的设计与实现毕业设计论文
网上书店的设计与实现
摘要
随着网络技术的飞速发展,Internet己成为最具市场潜力的应用领域,使用Web技术设计的数据库应用软件,是目前Internet市场的重要组成部分,如:
电子商务、网上购物等。
本文实现了一个网上书店系统,该系统采用JSP+JAVABEAN技术,数据库采用MySQL。
首先,简要的探讨了电子商务的基本知识;然后,分析了系统中使用的主要开发工具:
JSP、MySQL,以及该系统运行的软硬件环境、系统主要模块及其主要功能;描述了系统的最终使用效果以及今后的完善方向。
该系统是一个相对比较完善的网上购书系统,通过JAVABEAN使系统能够顺利的进行数据库连接,对用户进行身份验证、对数据库进行各种操作,如:
查询、插入、更新和删除等。
测试结果表明该系统基本上达到了实用要求。
关键词Jsp;JavaBean;Mysql;电子商务
DESIGNANDREALIZETION
OFNET-BOOKSTORE
ABSTRACT
Withtherapiddevelopmentofinternettechnology,Internethasbecomethemarketwhichhasthegreatestpotential.Inthisarea,thesoftwareofdatabaseapplicationistheimportpart,suchaselectroniccommercialandnet-shoppingetc.
Inthispaper,thenet-bookstoreinformationmanagementsystemhasbeenrealized.whichadoptsJSPandJAVABEANtechnologyandDBMSisMySQLserver.First,thispaperhassimplediscussedtheelementaryknowledgeofElectronicBusiness.Secondly,majortoolinthesystemhasbeenanlysed,suchasJSPandMysql.softandhardwareplatforminthesystemandmajormoduleinthesystemhavebeenanlysed.Finally,ithasdescribedthissystemuseeffecteventuallyaswellasinthefuturedevelopprospect.
ThissystemisarelativelymoreperfectpurchasingbooksystemontheInternet.ThesystemcansuccessfulconnectthedatabasethroughJAVABEAN.Everyuserpasswordcanbeverified,themainkindsofoperationtotheDataBaseisrealized,incudingquerying,inserting,updatinganddeletingandsoon.Thetestresultindicatesthatthissystembasicallymeetpracticalitydemand.
KEYWORDSJsp,JavaBean,Mysql,ElectronicBusiness
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
1绪论
1.1电子商务的基本概念
1.1.1电子商务的定义和分类
所谓电子商务[1],就是在网上开展商务活动。
当企业将它的主要业务通过企业内部网(Intranet)、外部网(Extranet)以及Internet与企业的职员、客户、供销商以及合作伙伴直接相连时,其中发生的各种活动就是电子商务。
电子商务包括一切使用电子手段进行的商业活动。
这样,现在已经流行的电话购物、电视购物都可以归入电子商务的范围。
但大多数定义还是将电子商务限制在使用计算机网络进行商业活动。
因为只有在计算机网络,特别是Internet普及的今天,才使得电子商务得到如此广泛的应用,也使得商业模式发生了根本性的转变。
从宏观上讲,电子商务是计算机网络的又一次革命[2],旨在通过电子手段建立一种新的经济秩序,它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等社会其他层面;从微观角度说,电子商务是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动,此处强调两点,一是要有商业背景,二是网络化和数字化。
电子商务是基于Internet/Intranet,包括了从销售、市场到商业信息管理的全过程。
在这一过程中,任何能加速商务处理过程、减少商业成本、创造商业价值、创新商业机会的活动都应该归入电子商务的范畴。
它将公司内部雇员、顾客、供货商和股东一条龙联系起来,既解决交易问题,还解决协作(collaboration)、服务(customerservice)问题。
电子商务大体可以分为三种形式[3]:
一是企业与企业在特定网络,或由多个企业网络组成的网络及互联网上进行的交易,即B2B(BusinesstoBusiness);二是企业与消费者之间的交易,即B2C(BusinesstoCustomer);三是个人与个人之间的交易,即C2C(customertocustomer)。
从目前的的规模和发展来看,这三种交易形式中B2B的规模最大,范围最广。
1.1.2电子商务的产生背景
电子商务始于网络计算[4]。
网络计算是电子商务的基础。
没有网络计算,就没有电子商务。
其发展形式多种多样,从最初的电话、电报到电子邮件以及其后的电子数据交换(ElectronicDataInterchange,EDI),都可以说是电子商务的某种发展形式。
电子商务的发展有其必然性和可能性。
传统的商业是以手工处理信息为主,并且通过纸上的文字交换信息,但是随着处理和交换信息量的剧增,该过程变得越来越复杂,这不仅增加了重复劳动和额外开支,而且也增加了出错机会。
在这种情况下需要一种更加便利和先进的方式来快速交流和处理商业往来业务;另一方面,计算机技术的发展及其广泛应用和先进通信技术的不断完善及使用导致了EDI和Internet的出现和发展,全球社会迈入了信息、自动化处理的新时代,这又使得电子商务的发展成为可能。
正是在这种必然性和可能性的推动下,电子商务得到了迅猛发展,特别是近两年来其发展速度更是令人震惊。
1.1.3电子商务的现状和发展趋势
如今,电子商务已发展到相当规模,并以其独特的魅力席卷全球。
据联合国报告称,预计到2003年全球上网人数将达3.5亿,电子商务交易额也将突破1万亿美元大关。
美国国际数据有限公司IDC的市场调查报告[5]显示,2003年底,中国的互联网用户近7000万,比上一年增长了130万,而用户的年龄构成主体为22-30岁,正向高年龄段发展。
电子商务贸易额己经达到22亿美元,占整个GDP的0.2%。
预计到2005年中国的电子商务收入将会达到1527亿美元,这里面最重要的B2B部分能够达到1330亿美元。
目前,电子商务的应用在国外已经非常普遍,这主要是由于国外法律环境、安全环境、物流、信用环境等条件要比国内成熟。
绝大多数国外公司均己建立了自己的电子商务网站或行业网站,能够进行B2B、B2C、B2G、C2C等形式的电子商务交易。
在我国,电子商务交易额呈逐年上升趋势,发展速度较快,占比例较大的交易形式是无形产品的网上交易[6]。
电子商务发展主要环境和条件还不健全和完善,如认证机构、法律环境、信用环境和物流系统等均滞后于电子商务的发展,阻碍了电子商务的大规模、快速发展。
1.2课题背景
21世纪是网络时代。
网络技术的飞速发展,极大地影响了商业交易中传统的交易方式和流通方式。
眼下电子商务网站正如雨后春笋般地大量涌现,企业网络化已经成为一种时尚。
朋友有一书店,随着业务的不断扩大,书店的规模也不断扩大,迫切需要建立相应的网上书店。
利用电子商务的优势同现有销售模式和流通渠道相结合,扩大消费市场,为书店的再发展带来新的商机,也为各地消费者提供便利,而且降低商业成本。
目前国内的这种商务网站大多是用ASP来编写,但ASP有它的局限性。
它是解释运行的,在多个客户访问的情况下会变得非常慢,而且网站服务器的负荷也很重,且只能运行在微软的操作系统和服务器上。
另外不安全性也是需要注意的问题。
而JSP的编译操作仅在第一次对页面请求时发生,速度远远大于ASP,而且可以跨操作系统,安全机制和性能均大于ASP。
我们综合各方面的考虑,决定采用JSP+JavaBean的Java技术来搭建B2C模式的网上交易平台。
系统采用界面与业务逻辑分离的三层结构设计[7],将业务逻辑封装在JavaBean中,使得系统的安全性、可维护性、重用性和可扩展性都大大提高。
2相关知识基础
2.1开发环境
系统开发环境的选择对于系统的建立来说至关重要,它将决定着系统开发工作量的大小,系统的性能特点以及系统今后维护工作的难易等。
因此在开发系统之前,根据对系统所采用的技术、实现功能的评估,在选择开发环境时,主要考虑了以下几个因素:
扩展性、总体成本、功能、是否容易开发和管理,另外开放性和互操作性也是需要考虑的一个重要方面,因为该系统是运行在Internet上的,用户平台的差异性决定了与其他系统的互操作是不可避免的。
2.1.1硬件环境
1.服务器端
服务器端的配置是由建立站点所需的软件来决定的。
在最低配置下,服务器能正常工作,但其性能往往不尽人意,如果想使站点服务器工作得更好的话,需要更好的配置,特别是服务器的内存应该大于128MB。
下面为服务器端的最低配置:
处理器:
IntelPenium1.4G;
内存:
128MB;
硬盘空间:
40G以上(其中Win2000需要900MB左右,MySQL需要70MB左右,还有其他一些开发工具、资料也需要硬盘空间);
光驱:
需要从光盘上安装操作系统和其它开发站点所需的软件;
网卡:
ISA或者PCI接口均可;
显卡:
SVGA显示适配器。
2.客户端
因为客户端主要用于浏览页面、和Web数据库进行交互操作,因此客户端对硬件要求不高,主要由所安装的Windows的要求来决定。
2.1.2软件环境
1.服务器端
平台应该是建立易于开发、管理、扩充以及同开放标准兼容的解决方案的基础。
服务器端平台软件采用Sun以及Apache的产品TOMCAT,便于维护和管理,同时系统设计中还应用了Sun的一些最新的技术,来提高系统的整体性能和效率。
(1)操作系统
采用了微软公司推出的操作系统Wndows2000Serve,其强大的功能、超高的执行效率、绝佳的稳定性以及合理的安全性保证了网站的基本系统基础。
Windows2000在WindowsNTserver4.0的基础上,为了加强对电子商务的支持,进一步改进了安全性的设计,成为企业级的电子商务平台。
(2)数据库平台
数据库平台采用出自瑞典公司MySQL公司的开放源码的数据库软件MySQL,其官方日下载数量已经达到29000份,而其全球总用户数量已经达到了惊人的400万,是建立中小型数据库的首选平台。
(3)系统开发前台页面设计
DreamweaverMX2004
(4)JSP服务端
Tomcat5.0.28
2客户端
任何支持HTMLTABLE和FORM元素的浏览器,典型情况下使用IE6.0和Netscape7.0。
2.2JSP简介
JSP即JavaServerPages,JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用、具有平台无关性且安全可靠、主要面向Internet的所有特点。
2.2.1JSP的特点
1.JSP技术强势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改;
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的;
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到无数台服务,Java显示了巨大的生命力;
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,JSP已经有了许多非常优秀的开发工具,而且有许多可以免费得到,而且其中许多已经可以顺利地运行于多种平台之下[8]。
2.JSP技术弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大地增加了产品的复杂性;
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下使用的内存比用户数量来说确实是“最低性能价格比”[9]了。
从另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件,以及对应的版本文件。
2.2.2JSP的页面结构
在JSP文件里,主要由模板元素、指令元素、动作元素、脚本元素、声明、表达式、Scriptlets和JSP内建对象组成。
1.模板元素
模板元素是指JSP的静态HTML或者XML内容,主要由美工完成。
2.脚本元素
脚本元素主要包括:
声明(Declaration);
表达式(Expression);
Scriptlets。
3.指令元素
JSP中有三种指令元素,它们是:
页面(Page)指令;
include指令;
taglib指令。
4.动作元素
与指令元素不同,动作元素在请求处理阶段起作用。
JSP动作元素是使用XML语法[10]写成的。
2.2.3JSP的内建对象
JSP为简化页面的开发提供了一些内部对象[11]。
这些内部对象并不需要有JSP的编写者实例化,它们由容器实现和管理,在所有的JSP页面中都能使用内部对象。
所有的隐含对象只有对Script或者表达式使用,在JSP声明中不可用。
下面把JSP的内部对象和本系统使用到的方法做一个简要的介绍:
1.request对象
request对象代表请求对象,它被封装成HttpServletRequest接口。
通过getParameter方法可以得到request的参数,通过GET、POST、HEAD等方法可以得到request的类型,通过Cookies、Referer等可以得到请求的Http头。
getParameter(Stringname):
获得客户端传送给服务器的参数值,该参数是由name指定的,通常是表单中的参数;
2.response对象
response被包装成HttpServletResponse接口[12],封装了JSP产生的响应,然后被发送到客户端以响应客户请求。
和request对象一样,它由容器生成,做为jspService()方法的参数被传入JSP。
因为输出流是缓冲的,所以可以设置Http状态码和response头。
sendRedirect(Stringlocation):
把响应发送到另一个位置进行处理;
3.pageContext对象
pageContext对象被封装成javax.serlet.jsp.pageContext接口,它为JSP页面包装页面的上下文。
管理对属于JSP中特殊可见部分中的已命名对象的访问。
它的创建和初始化都是由容器来完成的,JSP页面里可以直接使用pageContext对象的句柄。
pageContext对象的getXXX()、setXXX()和findXXX()方法可以用来根据不同的对象范围实现对这些对象的管理;
4.session对象
session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。
其中,session信息保存在容器里,session的ID保存在客户机的Cookie中。
在许多服务器上,如果浏览器转化为URL-rewriting(重写URL,这个URL包含了客户端的信息),session自动为每个流程提供了方便的存储信息的方法。
(1)getAttribute(Stringname):
获取与指定名字name相联系的属性。
(2)setAttribute(Stringname,Objectvalue):
设置指定名字name的属性值value,并将之存储在session对象中;
5.application对象
application对象为多个应用程序保存信息,对于一个容器而言,每个用户都共同使用一个application对象,这和session对象是不一样的。
服务器启动后,就会自动创建application对象,这个对象一直会保持,直到服务器关闭为止;
6.out对象
out对象被封装成javax.servlet.jsp.JspWriter接口。
它表示为客户打开的输出流,PrintWriter使用它向客户端发送输出流。
简单地说,它主要用来向客户端输出数据
out.print(param)、out.println(param):
根据param类型输出相应类型数据;
7.config对象
config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置。
当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet;
8.page对象
page对象是java.lang.Object类的一个实例。
它指的是JSP实现类的实例,也就是说,它是JSP本身,通过这个可以对它进行访问;
9.exception对象
exception对象是java.lang.Throwable类的一个实例。
它指的是运行时的异常,也就是被调用的错误页面(在页面指令里有isErrorPage=true的页面)才可以使用。
2.2.4JSP的应用
最初的Web应用程序主要是增加文件导航的功能,后来随着HTTP服务器中的CGI(CommanGageWayInterface,通用网关接口)的出现,网络发生了巨大的变化。
出现在Internet上的不再只是一个一个的静态页面,而是与数据库紧密相关的一个又一个的动态页面。
电子商务、电子政务、远程教育、远程医疗、全球定位系统,甚至导弹防御系统,没有一个不以网络为依托。
鉴于Internet的强大用途,先后出现了多种多样的网络应用程序的开发工具。
2.2.4.1相关的网络应用程序开发工具
CGI的出现带来了网络应用的巨大革新[13],各种网络应用程序的开发工具也应运而生,比较流行的开发网络应用程序的方法有以下几种方案:
CGI,ASP,PHP和JSP。
这些流行的开发技术各有其优缺点:
①CGI
几年以前,要开发一个商业性的动态商务网站,一般都是通过CGI来实现。
CGI,即通用网关接口,是外部应用程序和Web服务器之间的标准编程接口,可以动态扩展Web页的内容。
它允许Web服务器运行外部应用程序,通过外部程序来访问数据库等外部资源,以产生动态的HTML文档并返回浏览器。
它的执行过程如图2-1所示:
如果浏览器向Web服务器只是请求静态页面,则直接由Web服务器调用存储在服务器上的相应的HTML页面,返回给浏览器即可;如果浏览器要求的是动态页面,例如,要申请一个电子邮箱,则由web服务器将这种请求传到CGI程序,由CGI程序来进行处理。
处理时首先通过相应的数据库服务器,访问数据库,如果数据库中存在该邮箱,则通过CGI以HTML格式返回相应信息给浏览器;如果数据库中还不存在该邮箱,则把申请的当前邮箱保存在数据库中并返回成功信息,成功信息以HTML文件格式通过Web服务器返回到浏览器端。
所有这些都使得CGI的执行效率不高。
总的来说,CGI存在以下缺点:
(1)一个CGI进程不能为多个用户共享,对于新的请求必须启动新的进程,随着用户请求的增加,平行的进程也越多。
CGI应用程序常常通过C语言或Perl语言来编写。
每执行一个CGI程序时,服务器都要建立一个进程来执行程序。
如果使用Perl之类的解释型语言进行CGI编程,服务器执行解释型的CGI程序时首先都要将语言解释器载入内存,所以对每一个CGI程序,系统都要加载和清除Perl解释器[14]一次,当系统同时运行多个CGI程序时,在系统内存中就有多个Perl解释器,多个相同进程的重复存在,不但加重服务器的负担、降低效率,而且浪费系统资源;
(2)不提供永久性上下文信息,用户查询的结果不能有上百行,例如如果每次仅显示20行的数据,则CGI输出20行后停止了执行,如果再往下显示20行要再执行一次CGI程序;(3)CGI提供了一种与数据库连接的简单方法,但是每次请求时CGI程序都重新启动,这不但影响了响应速度,而且对访问数据库的应用来说,数据库连接也必须因此而重新建立;(4)CGI功能有限,开发困难,这极大地限制了它的应用。
②ISAPI
由于用C语言或Perl语言来编写CGI程序对一般的编程人员来说,具有相当的难度,同时,为了避免每处理一个CGI请求都启动一个进程来创建动态文档[15],相继出现了ISAPI,ASP,PHP等新技术,用ASP和PHP技术开发动态网站,可以大大地提高开发效率,但是运行速度和功能比不上ISAPI。
ISAPI虽然运行速度较快,但是编写和调试都非常困难,而且移植性很差。
ISAPI(InternetServerAPI)是扩展了的API,可用它代替CGI脚本的功能。
ISAPI可用在web服务器上创建运行为DLL的应用程序,使用ISAPI的应用程序被编译为动态连接库,ISAPI应用启动时装载入内存[16]。
ISAPI的优点是占用系统资源少、方便、灵活。
但它有以下三点不足:
(1)必须具备ISAPI和ODBC的专门编程技术;
(2)只能通过程序语句来构造HTML页面,不直观、易出错;(3)ISAPI进程和web进程处于