BS网络购物广场商务系统毕业设计论文.doc_第1页
BS网络购物广场商务系统毕业设计论文.doc_第2页
BS网络购物广场商务系统毕业设计论文.doc_第3页
BS网络购物广场商务系统毕业设计论文.doc_第4页
BS网络购物广场商务系统毕业设计论文.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆三峡学院毕业设计(论文)论文题目:网络购物广场商务系统的设计与实现专 业:计算机科学与技术年 级:2011级学 号:201106024140作 者:田乾垚指导老师:王自全(教授)完成时间:2015年4月 说 明社会经济的高速发展,带动了商品交易形式的多样化发展。计算机行业的飞速发展,计算机与网络技术的信息系统正处于蓬勃发展的朝阳期。现代社会的人们的购物选择越来越趋向于网络,而这一切正是源于互联网的快速发展,这也促成互联网用户成倍的增加。于是电子商务便有了大展拳脚的机会,越来越多的商家建立了网上商城,给消费者一种全新的消费体验,这种网上购物消费方式迅速被大众接受并蔓延开来。电子商务是一种新兴的商品交易形式,而随着社会的进步与人们生活水平与精神追求的提高,电子商务将会有广阔的发展空间。目前,网上购物作为电子交易的一部分已经实现了互联网的多样化商务功能,包括最基本的信息发布、在线商品展示、在线交易、在线采购以及在线客户服务等功能。现如今,人们对于网上购物的需求超过预期的发展速度,对传统购物上网解决方案提出了更严格的要求和挑战。为了适应社会发展趋势,我们决定做一个网上购物平台,实现网上购物的方式,让网友在家就可以逛商城买到任何想要买到的东西,为此构建justgo网上购物系统。本系统描述了通过因特网来购买商品及交易服务的过程,随着网络的快速发展,网上购物已成为在线服务的重要载体。b2c是一种与客户直接交易的电子商务模式,基于网站的服务,可以为用户提供商品的详细信息,用户也可以根据自身的需要进行选择性购买,同时还提供关于商品和零售商的评级与建议。网上购物为人们的消费提供了更多可能及更广阔的购物环境。人们可以不受时间及空间的诸多限制,随时随地进行网上交易。在这样的交易环境中,消费者与商家不再是传统的面对面交易,一个消费者可以在任意商家购物,一个商家也可以面对全球任意的消费者。这样一来,既减少了商品流通的中间环境,节省了大量开支,又降低了商品流通和交易的成本,在快节奏的都市生活中,这样的消费模式更受大众的亲睐,也更加的符合时代要求。搭乘互联网发展的快车,结合人们消费观念的改变及消费水平的提高,justgo网上购物系统应运而生。序号学号姓名专业、班级任务分配1201106024140田乾垚2011级计算机科学与技术组长。负责查找相关文献资料,撰写开题报告,翻译英文文献翻译,前台的代码整合,后台开发代码实现,数据库的创建与管理2201106024122李晓筱2011级计算机科学与技术组员。查找相关资料,撰写需求分析,翻译相关英文文献,数据库关系设计,后期代码测试及功能测试,完成,完成论文和用户整体界面的代码编写实现目录摘要iabstractii1 引言12 系统平台简介12.1 系统平台要求12.2 系统软件平台(java程序设计语言)12.2.1 java语言的基本类22.2.2 java语言的基本语法63 相关技术介绍73.1数据源jndi73.1.1 jndi简介73.1.2 jndi的组成83.1.3 jndi常用组件及操作83.1.4 jndi运行机制93.2 用户界面-jsp技术93.2.1 什么是jsp技术93.2.2 jsp语法与使用方法93.2.3 jsp的九大内置对象113.2.4 jsp的使用技巧及常见问题123.3 控制器-servlet123.3.1 什么是servlet123.3.2 servlet的生命周期133.3.3 servlet的常用方法143.4 javabean143.4.1 什么叫javabean143.4.2 javabean的组成部分153.4.3 javabean作用范围154 系统分析与总体设计164.1 系统结构设计164.2 系统功能模块设计175 系统实现185.1 用户界面185.2 客户端功能实现195.2.1 用户注册功能195.2.2 用户登录功能195.2.3 密码重置功能205.2.4 注销功能205.3 管理端功能实现215.3.1 管理员管理功能215.3.2 商品管理功能225.3.3 订单管理功能235.3.4 注销功能236 关键技术及方法246.1 mvc框架246.1.1 什么是mvc246.1.2 mvc的优缺点246.1.3 mvc常用控件256.2 mysql数据库的使用256.1.2 了解mysql256.1.2 mysql基础操作256.1.2 mysql的常用命令267 结束语26致谢26参考文献27附件:部分源代码28网络购物广场商务系统田乾垚(重庆三峡学院计算机科学与工程学院计算机科学与技术专业2011级 重庆万州 404000)摘要 人类获取信息的过程从报刊、广播直到电视,都属于传统媒体。然而随着人们生活水平的提高,人们的生活质量与要求也越来越高,互联网以第四类媒体的身份跻身传统媒体,经过快速发展,已成了当今全球最大的传播媒体,发展如此迅猛的秘密就在于容量,即使版面最多的报纸在互联网面前只是九牛一毛。互联网给人们的生活带来了极大的便利,例如电子邮件、电子商务、网上科研、电子广告、电子银行、网络会议、远程医疗、网络教学等。近几年来,互联网的发展朝气蓬勃、日新月异,给人们的生活方式带来了不小的变化。很多的经济活动和很多公司的业务都在向基于网络的方式转换,随之而来的就是很多的开发任务也开始向基于网络方面转移。互联网技术无疑是当今计算机技术发展的最大热点。在互联网越来越发达的今天,人们可以在互联网上找到任何想要的资源,尤其在电子商务这块更是如此,越来越多的人们选择通过网络支付、购物、社交,尤其像近几年发展迅猛的电子购物系统,例如比较出名的天猫、京东,亚马逊,还有一些后起之秀做化妆品起家的“聚美优品”,提供招聘信息以及租房服务的“58”,做打车服务的“滴滴打车”,做旅游的“去哪儿网”等等,在当今互联网快速的前提下诸多行业都冒出了电子商务消费平台,它们乘着互联网发展的浪潮如雨后春笋般向上生长。互联网正在以无孔不入的趋势渗透进现代人们的生活,互联网改变了人们的生活习惯,同时也正是人们的消费水平与生活习惯的改变引领着互联网的发展方向。我相信,在不久的将来,人们会变得越来越离不开互联网,离不开网上购物。为了赶上这个发展机会,因此我们小组觉得可以在此领域试一下水,设计出一个简单网上购物系统满足人们正常网络购物需求,并以简单友好的操作体验呈现给大家这,也是我们这次选课的目的和意义。关键字:互联网;购物;系统开发online shopping plaza business system tian qian-yao(grade 2011, computer science and technology , college of computer science, chongqing three gorges university, wanzhou, chongqing 404000 )abstractnewspapers,radioandtelevisionarethehumantoobtaininformationofthreekindsoftraditionalmedia.yet,withpeopleslivingstandard,peopleslifequalityanddemandsalsobecomehigh,theinternetasthefourthmediamadethetraditionalmedia,afterrapiddevelopment,hasbecometheworldsbiggestmedia,thesecretofsuchrapiddevelopmentliesinthecapacity,evenifmostpagesofnewspapersinfrontoftheinternetisjustadropinthebucket.theinternethasbroughtgreatconveniencetopeopleslife,suchase-mail,e-commerce,onlineresearch,electronicadvertising,electronicbanking,networkmeeting,remotemedicaltreatment,teaching,etc. in recent years, the development of the internet vigorous with each passing day, brought big change to peoples life style.a lot of economic activity and a lot of the companys business are moving in the way of transformation based on internet, and a lot of development tasks also began to move based on the network.internet technology is undoubtedly the biggest hot spots of the development of computer technology today.today,internetismoreandmoredeveloped,peoplecanbefoundontheinternetanydesiredresources,especiallyintheelectroniccommerce,moreandmorepeoplechoosetopaythroughtheinternet,shopping,andsocial,especiallyasdevelopingrapidlyinrecentyears,theelectronicshoppingsystem,suchascats,jingdongbetter-knownday,amazon,andsomerisingstar-docosmeticscratchgatherbeautyissuperior,toproviderecruitmentinformationandrentalservices58dodropstaxi,ataxiservicedotourismwherenetetc.,onthepremiseoftheinternetfastcomeuptotheconsumere-commerceplatform,manyindustriesaretheyinthewaveofinternetdevelopmenthavesprungupgrowingup. the internet is pervasive trend penetrating into the modern peoples lives, the internet changed peoples habits and customs, at the same time, it is peoples consumption level and lifestyle changes leads the direction of the development of the internet.i believe that in the near future, people will become more and more inseparable from the internet, online shopping.in order to catch up with the development opportunity, so our group think can try the water in this area, design a simple meet the demand of people normal online shopping online shopping system, and present a simple and friendly operation experience of this to you, is also our meaning and the purpose of this course.key words :internet;online shopping;business system developmenti2011届计算机科学与技术专业毕业设计(论文)1 引言社会经济的高速发展,带动了商品交易形式的多样化发展。进而也带动了计算机行业的飞速发展,计算机与网络技术的信息系统的发展蒸蒸日上。现代社会的人们的购物选择越来越趋向于网络,而这一切正是源于互联网的快速发展,这也促成互联网用户快速发展的促成因素。为了适应社会发展趋势,我们决定做一个网上购物平台,实现网上购物的方式,让网友在家就可以逛商城买到任何想要买到的东西,为此构建justgo网上购物系统。本系统详细描述了通过因特网进行网上购物的过程,随着信息时代的到来与其飞速的发展,电子商务已成为在线购物服务的重要课题。b2c是一种与客户直接交易的电子商务模式,基于网站的服务,可以为用户提供商品的详细信息,用户也可以根据自身的需要进行选择性购买,同时还提供关于商品和零售商的评级与建议。网上购物为人们的消费提供了更多可能及更广阔的购物环境。人们可以不受时间及空间的诸多限制,随时随地进行网上交易。在这样的交易环境中,消费者与商家不再是传统的面对面交易,一个消费者可以在任意商家购物,一个商家也可以面对全球任意的消费者。这样一来,既减少了商品流通的中间环境,节省了大量开支,又降低了商品流通和交易的成本,在快节奏的都市生活中,这样的消费模式更受大众的亲睐,也更加的符合时代要求。搭乘互联网发展的快车,结合人们消费观念的改变及消费水平的提高,justgo网上购物系统应运而生。2 系统平台简介2.1 系统平台要求(1) 硬件环境: cpu、 内存(2gb及以上 )、显卡、其它:键盘、鼠标、能连通互联网 2、软件环境:java平台运行环境:jdk1.6、操作系统:windows。2.2 系统软件平台(java程序设计语言)首先介绍一下java的起源吧。java(以下简称java语言)是一种程序设计语言,它是由sun公司在1995年5月推出的,包含java语言和java平台。java起初被取名为oak,在1995年的时候因为专利问题而改名为java。java的功能是完善的,可以使用它开发要求严格而可靠的应用程序。hotjava浏览器就是用java实现的,这也是java的魅力:跨平台性、动态性和internet计算。于是从此之后,java在web应用中被广泛运用,这也使得web得到了迅速发展,除了hotjava外,常用的浏览器都支持java applet。另外,java技术也在不断发展。 再说一下java的构成。java语言基于java这个平台。java平台包含java虚拟机和java应用编程接口(简称api)。api就是我们常说的标准接口,它是独立于操作系统的接口,分为基本部分和扩展部分。java的跨平台性决定了java的发展,在任何操作系统上安装了java平台之后,由java语言开发的应用程序,都可以在该系统上运行,而这个应用程序拿到另外一个操作系统上的java平台中运行一样是没有问题的。所以说java的实际上算是“侵入”了所有操作系统,这也是为什么说java程序只需要编译一次,便可以多出运行。 再说说java的体系。java体系:javase standard edition,java标准版;javaeeerprise editionent,java企业版);javamemicro edition,java平台微型版。 平台标准版主要作为通用版本被程序员所使用,而企业版则用于企业级应用开发,微型版也是程序员常用的一种,使用的最多的还是企业版。2009年04月20日,sun公司被甲骨文收购。其实关于java的来源,以前发生过一个有趣的故事。java的前身叫oak,这是sun公司的james gosling、bill joe等人在1991年,为电视,控制考面包机等家用电器的交互操作开发的一个软件。不巧的是已经有oak这个商标了,迫于法律侵权问题,在1995年的时候,oak正式改名为java。这天,java小组成员因为oak侵权问题开会讨论给这个新生软件重新起一个名字,当时他们都在喝咖啡,大家议论纷纷,激辩不停,突然有人提议用java这个名字,没想到这个提议很快得到了大家一致赞同,于是从此以后就正式改名为java。并且很快java被工业界认可,许多公司如ibm 、microsoft等争相都购买了java的使用权,从此,开始了java应用的新篇章。 当时,sun公司并未想到java在如今有这样好的发展机遇,直到1994年,随着互联网和“3w”的快速发展,他们使用java编写出了hotjava浏览器,得到了sun公司首席执行官scott mcnealy的认可与支持,从而得以发展。java的诞生挑战了传统计算机的模式,对计算机软件的开发和软件产业产生了积极深远的冲击力和影响: (1) 首先对软件产业和工业企业产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件的相继出现使得企业必须转型,b2b的电子商务快速发展将带动整个经济市场,使得企业开始重新定义价值与管理。 (2)软件4a目标要求软件可以做到任何人都可以在无论何时何地对任何电子设备进行使用。这样能满足在软件平台上互相操作,满足了可伸缩性和重要性以及即插即用的分布式计算模式的需求。 (3)对软件开发带来了一场的革命,人们开始重视开发团队合作文化理念,认识到协作,创作,责任,诚信是人才的基本素质;重视使用第三方构件的集成,利用平台的基础设施服务,实现开发各个阶段的重要技术。 (4)构建开发方法的迅速发展,引出了多层应用体系框架和core国际标准软件体系结构。并在此基础上形成了java平台和.net平台两个派别,推动了it行业的快速发展。 总的来说,现在人们已经意识到了java对信息时代的重要性,相信java未来在应用程序开发方面会有更广阔的发展前景。2.2.1 java语言的基本类在本项目中用到了的一些基本包,概括如下:sun公司的:javax.swing.*java.awt.*java.io.*java.util.*java.sql.*javax.servlet.*这些包的基本功能如下:1、javax.swing:该包主要提供一组“轻量级”组件,其包含的主要类如下表:abstractlistmodel该数据模型的抽象定义提供一个带内容的 list。jtextfieldjtextfield 是一个轻量级组件,它允许编辑单行文本。joptionpanejoptionpane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。jframejava.awt.frame 的扩展版本,该版本添加了对 jfc/swing 组件架构的支持。表 2-1 javax.swing包的部分类续表 2-1jdialog用于创建对话框窗口。jeditorpane编辑各种内容的文本组件。jframejava.awt.frame 的扩展版本,该版本添加了对 jfc/swing 组件架构的支持。jlabel用于短文本字符串或图像或二者的显示区。jmenubar菜单栏的实现。jmenuitem用于实现菜单中的项。joptionpanejoptionpane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。jpaneljpanel 是一般轻量级容器。jprogressbar以可视化形式显示某些任务进度的组件。jscrollbar滚动条的实现。jscrollpane提供轻量级组件的 scrollable 视图。jslider一个让用户以图形方式在有界区间内通过移动滑块来选择值的组件。jtablejtable 用来显示和编辑常规二维单元表。jtextareajtextarea 是一个显示纯文本的多行区域。jtextfieldjtextfield 是一个轻量级组件,它允许编辑单行文本。jtree将分层数据集显示为轮廓的控件。2、java.awt:该包可以用于绘制图形图像,也可以创建用户界面。其包含的基本类如下:awtevent所有 awt 事件的根事件类。button此类创建一个标签按钮。cardlayoutcardlayout 对象是容器的布局管理器。colorcolor 类用于封装rgb颜色,或者封装由 colorspace 标识的任意颜色空间中的颜色。componentcomponent 是一个具有图形表示能力的对象,不仅可以显示在屏幕上,更可实现与用户进行交互操作。container一般的 abstract window toolkit(awt) 容器对象是一个可包含其他 awt 组件的组件。cursor封装鼠标光标的位图表示形式的类。dialogdialog 通常是一个带标题和输入框的上层窗口,输入框用于从用户处获得输入数据。表2-2 java.awt包的部分类续表 2-2dialogdialog 是一个顶层窗口,它是由标题和输入框组成的。标题用于提示用户,而输入框获取用户写入的数据。dimensiondimension 类封装单个对象中组件的宽度和高度(精确到整数)。filedialogfiledialog 类显示一个对话框窗口,用户可以从中选择文件。flowlayout流布局的主要作用在于处理流中的组件。fontfont 类表示字体,可以使用它以可见方式呈现文本。systemtraysystemtray 类表示桌面的系统托盘。trayicontrayicon 对象表示可以添加到系统托盘的托盘图标。3、java.io包:该包通过文件序列化、字符字节数据流和文件系统的输入和输出。本系统中用到的该包中的类如下:bufferedinputstreambufferedinputstream 可以给一个输入流添加功能,也就是常说的缓冲输入并能够支持一些固定方法的能力。bufferedoutputstream该类实现缓冲的输出流。bufferedreader这是一种高效率的字符写入流,实现字符、数组和行的高效读取,从字符输入流中读取文本,缓冲各个字符。bufferedwriter高效字符输出流,将文本写入,输出流,缓冲字符,从而实现字符、数组和字符串的写入。file文件和目录路径名的抽象表示形式。filedescriptor文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。fileinputstreamfileinputstream 从文件系统中的某个文件中获得输入字节。fileoutputstream文件输出流是用于将数据写入 file 或 filedescriptor 的输出流。filterinputstreamfilterinputstream 包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。filteroutputstream此类是过滤输出流的所有类的超类。filterreader用于读取已过滤的字符流的抽象类。filterwriter用于写入已过滤的字符流的抽象类。inputstream此抽象类是表示字节输入流的所有类的超类。inputstreamreaderinputstreamreader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。objectinputstreamobjectinputstream 对以前使用 objectoutputstream 写入的基本数据和对象进行反序列化。表2-3 java.io包的部分类 续表 2-3objectoutputstreamobjectoutputstream 将 java 对象的基本数据类型和图形写入 outputstream。objectoutputstream.putfield提供对要写入objectoutput的持久字段的编程访问。outputstream此抽象类是表示输出字节流的所有类的超类。outputstreamwriteroutputstreamwriter 是字符流通向字节流的桥梁:可使用指定的charset将要写入流中的字符编码成字节。 writer写入字符流的抽象类。4、java.util包:包含有集合框架、collection 类、日期和时间、随机数生成器和日期date类、vector类等。在本项目中主要用到集合框架中的类去实现分页显示商品及在页面显示日期时间。arraylistlist 接口的大小可变数组的实现。calendarcalendar 类是一个抽象类,它为特定瞬间与一组诸如 year、month、day_of_month、hour 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。collections此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。date类 date 表示特定的瞬间,精确到毫秒。hashmap基于哈希表的 map 接口的实现。hashset此类实现 set 接口,由哈希表(实际上是一个 hashmap 实例)支持。hashtable此类实现一个哈希表,该哈希表将键映射到相应的值。linkedlistlist 接口的链接列表实现。random此类的实例用于生成伪随机数流。表2-4 java.util包的部分类5、java.sql包:提供使用 java编程语言访问并处理存储在数据源(通常是一个关系数据库)中的数据的api。此api包括一个框架,凭借此框架可以动态地安装不同驱动程序来访问不同数据源。在本项目中主要使用到jndi数据源连接数据库。date一个包装了毫秒值的瘦包装器 (thin wrapper),它允许 jdbc 将毫秒值标识为 sql date 值。很明显,这里的date与java.util包中的date类是不同的。drivermanager管理一组 jdbc 驱动程序的基本服务。作为连接数据库的驱动类。types定义用于标识一般 sql 类型(称为 jdbc 类型)的常量的类。statement用于执行静态 sql 语句并返回它所生成结果的对象。resultset表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。resultsetmetadata可用于获取关于 resultset 对象中列的类型和属性信息的对象。在做测试的时候需要用到该类。表2-5 java.sql包的部分类 续表 2-5driver每个驱动程序类必须实现的接口。这是一个接口parametermetadata可用于获取关于 preparedstatement 对象中参数的类型和属性信息的对象。preparedstatement表示预编译的 sql 语句的对象。connection与特定数据库的连接(会话)。6、java.servlet包: java servlet可以动态地扩展server的能力,并采用请求响应模式提供web服务。在本项目中使用servlet作为控制器处理请求并将处理结果返回给页面显示出来。servletconfig在初始化的过程中由servlet容器使用。servletcontext定义了servlet用于获取来自容器的信息的一些方法。servletrequest向服务端请求信息。servletresponse相应客户端的请求。servletinputstream用于从客户端读取数据。servletoutputstream用于将数据以二进制的形式发送到客户端。servletexception用于处理异常的类,在该项目中使用该类也是便于测试。表2-6 java.servlet包的部分类2.2.2 java语言的基本语法任何程序设计语言都有其基本的语法,而我们可以利用这些语法可以将不同的程序元素组成一条条语句,完成用户熟悉的软件。java程序设计语言的基本语法包含以下几个方面:1、 数据类型:java语言是一种严格的“类型化”语言。java有8种基本类型:int、short、long、byte、float和double、char和boolean。如图所示:2、变量:没有确定初始值,且值可以改变的量称为变量。在java中定义变量有如下要求:(1)java要求在使用一个变量之前要对变量的类型加以声明。(2)java中一个变量的声明就是一条完整的java语句,所以在其结尾要用分号。(3)变量可以以字母、“_”、“$”开头,但不可以数字开头。(4)变量名区分大小写,但没有长度限制。(5)在一条语句中进行多个变量的声明,不同变量之间用逗号隔开,语句最后要使用分号。3、常量:常量是一种标识符,它的值在运算期间恒定不变,常量在程序中只能被引用而不能被重新赋值。在java中使用final关键字来定义一个常量。习惯上将常量的名字统统写成大写。4、运算符:运算符包括数学中常用的运算符如:+、-、*、/以及幂等。同时还包含递增(a+、+a)、递减(a-、-a)、关系运算符(=、!=、 、 =)、布尔(&、|、 !)和按位运算(&、|、 )等运算符。5、数组:java中数组时第一类对象。当建立一个数组后,就不能轻易的改变它的大小。可以拥有匿名的数组,也可以作为一个方法的返回值。6、条件语句if语句:if(条件) 语句if (条件) 代码块 if (条件) 语句; if (条件) 代码块 else 代码块 7、while循环语句:while (条件) 代码块 do 代码块 while (条件);8、多重循环语句(switch开关语句):switch(choice)case 1:执行语句;break;case 2:执行语句;break;default: break;3 相关技术介绍3.1数据源jndijndi,也就是 java naming and directory interface,是一组访问数据源的标准接口。由管理者将jndi api映射为特定的命名服务和目录系统,使得java应用程序可以和这些命名服务和目录服务之间进行交互。可以将jndi理解为一种将对象和名字捆绑的技术,对象工厂负责生产出对象,这些对象都和唯一的名字绑在一起,外部资源可以通过名字获得某对象的引用。3.1.1 jndi简介jndi架构提供了一组标准的独立于命名系统的api。这一层有助于将应用与实际数据源分离,因此不管应用访问的是ldap等,还是其他的目录服务。如图:图3-1jndi架构关于,它提供了应用编程接口和服务提供者接口。要让应用与命名服务或目录服务交互,必须有这个服务的jndi服务提供者。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了jndi接口很象jdbc驱动为各种具体的数据库系统实现了jdbc接口一样。3.1.2 jndi的组成jndi用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库连接建立所必须的信息。jndi主要有两部分组成:应用程序编程接口和服务供应商接口。服务供应商接口提供了任意一种服务的供应商使用的功能。连接数据库的代码实例:trycontext initial = new initialcontext();/初始化上下文 /其中mysql为数据源jndi名称 datasource ds = (datasource)initial.lookup(java:comp/env/jdbc/mysql); connection con=ds.getconnection();/得到连接 statement st = con.createstatement();/声明语句 resultset rs = st.executequery(sql); /执行语句得到结果集 if(rs.next() flag = true; rs.close();/关闭结果集 st.close();/关闭语句 con.close();/归还连接catch(exception e)e.printstacktrace();3.1.3 jndi常用组件及操作 1)组件:1、 javax.naming:包含了访问命名服务的类和接口。例如,它定义了context接口,这是命名服务执行查询的入口。2、 javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的dircontext接口,定义了检查和更新目录对像的属性的方法。3、 javax.naming.event:提供了对访问命名和目录服务时的事件通知的支持。例如,定义了namingevent类,这个类用来表示命名/目录服务产生的事件,定义了侦听namingevents的naminglistener接口。2) 操作:1、 void bind(string name,object object);绑定:把名称同对象关联的过程。2、 void rebind(string name,object object);重新绑定:用来把对象同一个已经存在的名称重新绑定。3、void unbind(string name);释放:用来把对象从目录中释放出来。4、object lookup(string name);查找:返回目录中的一个对象。 5、namingenumeration listbinding(string name);清单:返回绑定在特定上下文中对象的清单列表。3.1.4 jndi运行机制 1、首先程序代码获取初始化的jndi环境并且调用 context.lookup()方法从jndi服务提供者那里获一个datasource对象。2、 中间层jndi 服务提供者返回一个datasource对象给当前的java应用程序这个datasource 对象代表了中间层服务上现存的缓冲数据源。3、 应用程序调用datasource对象的getconnection()方法。4、 如果在缓冲池中命中了一个pooledcoonection对象那么连接缓冲池将简单地更新内部的缓冲连接队列并将该pooledconnection对象返回。如果在缓冲池内没有找到现成的。pooledconnection 对象,那么connectionpooldatasource 接口将会被用来产生一个新的。pooledconnection 对象并将它返回以便应用程序使用。5、 中间层服务器调用pooledconnection对象的getconnection()方法以便返还一个connection 对象给当前的 java 应用程序。6、 当中间层服务器调用 pooledconnection 对象的getconnection()方法时,jdbc 数据库驱动程序将会创建一个connection对象并且把它返回中间层服务器。7、 中间层服务器connection对象返回给应用程序 java 应用程序,可以认为这个connection对象是一个普通的jdbc connection对象使用它可以和数据库建立。事实上的连接与数据库引擎产生交互操作。3.2 用户界面-jsp技术jsp即java server pages,中文名java服务器页面,其根本是一个简化的servlet设计jsp技术有点类似asp技术,它是在传统的网页html文件中插java程序段(scriptlet)和jsp标记,从而形成jsp文件,后缀名为(*.jsp)。3.2.1 什么是jsp技术jsp也就是javaserver pages,jsp技术是以java语言作为脚本语言,但是jsp并不是java,与传统java语言是有区别的,这个在运用过程中是需要注意的,然而其实大部分还是大同小异的。jsp句法增加了被称为jsp动作的xml标签,它们用来调用内建功能。jsp可用一种简单易懂的等式表示为:html+java+jsp标记=jsp。其实,jsp与html都是可以显示网页的,被浏览器解析生成网页,不同之处在于,jsp是可以动态生成网页的,这在当今世界是极有效的。3.2.2 jsp语法与使用方法一个jsp页面可以被分为以下几部分:1)静态数据,如html2)jsp指令,如include3)jsp脚本元素和变量4)jsp动作5)用户自定义标签1、静态数据静态数据在输入文件中的内容和输出给http响应的内容完全一致。此时,该jsp输入文件会是一个没有内嵌java或动作的html页面。而且,客户端每次请求都会得到相同的响应内容。2、jsp指令jsp指令控制jsp编译器如何去生成servlet,以下是可用的指令:import使一个java导入声明被插入到最终页面文件。contenttype规定了生成内容的类型。当生成非html内容或者当前字符character set并非默认字符集时使用。errorpage处理http请求时,如果出现异常则显示该错误提示信息页面。iserrorpage如果设置为true,则表示当前文件是一个错误提示页面。isthreadsafe表示最终生成的servlet是否安全线程(threadsafe)。表3-1 page常用页面指令 3、jsp脚本标准脚本变量,以下是永远可用的脚本变量:out-jspwriter 用来写入响应流的数据page-servlet 自身pagerequesthttp request对象responsehttp response对象4、脚本元素一种是脚本标签,在javaservlet的类的jspservice()方法中放入所包含的语句:一种是表达式标签,在javaservlet的类中放入待赋值的表达式,表达式注意不能以分号结尾:5、jsp动作jsp动作是一系列可以调用内建于网络服务器中的功能的xml标签。然而jsp提供了以下动作,这些动作一般一般都是常用的一些动作,但是有一些在本应用中并未使用到,在这里也统一做一下介绍:jsp:include和子过程类似,java servlet暂时接管对其它指定的jsp页的请求和响应。当处理完该jsp页后就马上把控制权交还当前jsp页。这样jsp代码就可以在多个jsp页中共享而不用复制。jsp:forward用于处理另一个jsp或servlet的请求和响应。控制权永远不会交还给当前jsp页。表3-2 include常用页面指令为了快速方便地进行动态网站的开发,jsp在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。在服务器端jsp引擎解释jsp标识和脚本,生成所请求的内容(例如,通过访问javabeans组件,使用jdbc技术访问数据库或者包含文件),并且将结果以html(或者x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论