基于JAVA的数据库瘦客户端实现
Eclipse完全手册

Eclipse完全手册Eclipse是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的Java 集成开发环境。
作为一套开源工具,可用于构建Web Services、J2EE等各种类型的应用,其所提供的功能不亚于、甚至要超过由专业的集成环境供应商所提供的商业化产品,如JBuilder。
Eclipse最有魅力的地方就在于它的插件体系结构。
在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。
每一个插件都是在现有的扩展点上开发的,并可能还留有自己的扩展点,以便在这个插件上继续开发。
由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。
在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作,而Version and Configuration Management(VCM)插件则负责完成版本控制功能,等等。
虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse 却把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT),也只不过是Eclipse系统中的一个普通插件而已。
整个Eclipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件。
虽然大多数用户很乐于将Eclipse当做Java IDE来使用,但Eclipse的目标不仅限于此。
Eclipse平台为工具提供者(Tools Provider)提供一套使用机制和一组需要遵循的规则,从而使得开发出的工具之间可以实现无缝的集成。
这些机制通过定义良好的API接口、类和方法提供给用户使用,平台同样为新的工具的开发提供强有力的组件支持(如Plug-in Development Environment,PDE——插件开发环境)。
基于微信小程序的商城设计毕业论文

基于微信小程序的商城设计毕业论文摘要随着“互联网+”的大潮兴起,平台型应用再受热捧。
其中,微信小程序凭借其强大的用户基础及其应用时的便捷而深受欢迎。
在此基础上,以小程序为载体的社群电商,将具有相同兴趣的社群成员组织在一起,推广与之需求高度匹配的产品或服务,轻松实现流量变现。
因此,结合以上优势设计并实现基于JavaWeb的小程序商城,具有一定的研究意义和商业价值,符合我国互联网精准化营销和个性化服务的趋势。
本系统主要由微信小程序客户端、服务器、数据管理端构成,前端代码基于Layui,封装工具类,使用的是H-ui Admin。
客户端的页面实现通过网络与服务器REST API接口通信获取 MySQL数据。
本人重点参与网上购物系统客户端、服务器以及数据库的设计、开发、测试工作。
在系统的设计与实现过程中,对客户端的代码进行全局的MVC模式设计控制,采用template模板增加代码的复用性,并创建客户端用户的token管理机制进行用户身份验证与权限分级。
本文重点阐述小程序商城客户端的商品信息展示、商品分类、购物车、下单支付,个人信息管理及数据库设计六大模块的设计和实现过程。
采用了JavaWeb和springboot框架作为后台开发,HTML+JS+CSS和微信web开发工具作为前端开发,遵守微信的开发规范,完成了小程序商城的基本功能,系统运行流畅,可以正常使用。
关键词:电商;JavaWeb;小程序商城;购物;ABSTRACTWith the rise of "Internet ",platform-based applications are becoming more popular. Among them,WeChat Mini Program with its strong user base and its application when convenient and popular. On the basis of this,the community e-commerce with the small program as the carrier,will have the same interest community members to organize together,promotes the product or the service which is highly matched with its demand,realizes the flow realization easily. Therefore,combining the above advantages to design and implement the Mini Programs Mall based on Java Web has certain research significance and commercial value,which is in line with the trend of precision marketing and personalized service of the Internet in China.The system is mainly composed of WeChat Mini Program client,server,data management,front-end code based on Layui,encapsulating tool class,using H-ui Admin. The client's page implementation acquires MySQL data by communicating with the server REST API interface through the network. I focus on the online shopping system client,server and database design,development,testing work.In the design and implementation of the system,the client's code is controlled by the global MVC pattern design,the template template is used to increase the reusability of the code,and the client's token management mechanism is created for user authentication and permission classification. This paper focuses on the design and implementation of the six modules of the small program mall client's commodity information display,commodity classification,shopping cart,order payment,personal information management and database design. Using Java Web and SSM framework as background development,HTML JSCSS and WeChat web development tool as front-end development Send,abide by the development specifications of WeChat,completed the basic functions of Mini Programs Mall,the system runs smoothly,can be used normally.Keywords:E-commerce;Java Web;Mini Programs Mall;Shopping;目录引言....................................................................................................... 错误!未定义书签。
《J2EE应用框架设计与项目开发》试题(附答案)

《J2EE应用框架设计与项目开发-2014》试题第一章J2EE体系结构一、单项选择题(每题2分,其中只有一个选择项为正确,多选、不选或错选该题均不得分)1、下列关于J2EE的说法,正确的是()A.是一套使用java进行企业级web应用开发的事实上的工业标准。
B.J2EE不是一种平台规范。
C.J2EE平台提供了多层分布式的应用模型,不能重新利用组件的能力。
D.J2EE不一定要基于J2SE。
答案:A2、J2ME是指()A.java to more enterpriseB.java 2 mobile editionC.java 2 micro editionD.java 2 mini edition答案:C3、J2EE的三层结构包括表示层、中间层、()A.服务层B.会话层C.保存层D.数据层答案:D4、在J2EE三层结构中,中间层与MVC设计模式中的()模块相对应。
A.视图B.控制器C.模型D.以上都不对答案:B5、JavaEE服务器与容器的关系是()A.服务器是javaEE容器基础,容器是它的一部分B.javaEE容器是服务器的基础,服务器是它的一部分C.二者没有什么关系D.服务器和容器指的是同样一个东西答案:A6、下列不属于J2EE标准服务的是()A.邮件服务B.安全服务C.短信服务D.消息服务答案:C7、下列不属于J2EE组成结构中的各元素的是()A.J2EE应用程序组件B.J2EE容器C.J2EE资源适配器D.J2EE磁盘答案:D8、下列那个不属于java技术框架SSH里面的()A.StrutsB.HiveC.SpringD.Hibernate答案:B二、多项选择题(其中有两个或两个以选择项为正确,不选、错选或多选均得0分,漏选则按选对率计分,每题3分。
)1、通常的瘦客户端多层次应用程序难于编写,是因为要设计多行复杂代码()A.用于事务处理B.用于状态管理C.用于多线程D.用于资源池E.用于其他的复杂的底层设计答案:ABCDE2、下列哪些是J2EE的标准服务:()A.邮件服务B.消息服务C.安全服务D.连接器提供的服务E.硬件检测服务答案:ABCD3、J2EE必须支持的应用组件有:()A.客户端应用程序B.代码编译器C.AppletsD.Servlets、JSP页面、JSF应用程序、过滤器、WEB事件监听器E.企业javabean组件答案:ACDE4、下列属于web服务器的是:()A.IISB.WeblogicC.ApacheD.TomcatE.Websphere答案:ACD三、判断题(每题1.5分)1、JAVA是由微软公司推出的。
基于PB的图书管理系统-开题报告

开题报告经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。
开发软件的一个目的是针对目前普遍的图书管理系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书管理系统。
该管理系统与MIS系统相联系,在图书馆内部建成可靠,方便,并且功能齐全的MIS系统。
从而在图书馆对新旧书的反应;对书籍借阅的管理能力;对读者和图书馆工作人员的管理能力;对图书馆管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。
当然对该软件的态度是渴望获得显著的社会效益。
开发软件的另一个目的是使其具有强大的实用价值,即它可以满足中小型图书馆的借阅与管理的需要。
在一般的学校与科研机构,其下属的很多分支的研究中心,试验中心,各个学院,它们往往都有着自己的规模较大的图书资料室。
而这些图书资料室由于本身规模不大因此其对书籍或资料的管理模式一般都比较旧,而且在没有能力也没有必要引进大型的图书馆管理软硬件的基础上,寻求一个针对中小型图书资料室的管理软件是必要的。
这种管理软件对硬件的要求很低,一般有一个比较简单的服务器与PC机组成的网络即可,再加上使用比较廉价、性能不错的软件,这样就可以以较低的成本来实现一个足够使用的功能,而这种模式也正满足了那种中小型资料室,图书馆的要求。
但是目前对这种管理软件的开发还处于一种比较原始的阶段。
开发者往往都是出于资金和时间的顾虑使用比较陈旧的技术,并且各为己见,并且很少涉及网络。
可是当今是一个网络化的社会,像资料室,图书馆这样的信息机构不能与网络联系起来岂不可惜,再加上如今单机版的图书管理软件多如牛毛,去开发一个类似的软件无疑是一种在时间上、精神上和资源上的极大浪费。
软件中间件

中间件定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
中间件特点:1.满足大量应用的需要2.运行于多种硬件、数据库及操作系统平台3.支持分布式计算,提供跨网络、底层平台的透明性应用或服务的交互功能4.支持标准协议5.支持标准的接口中间件能为我们软件开发带来那些帮助?中间件屏蔽了底层操作系统和数据库的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不系统软件上的移植而重复工作,大大减少技术上的负担;也减少了系统的维护、运行和管理的工作量及计算机总体费用的投入。
Client/Server模式:客户机和服务器结构,通过它可以利用两端硬件环境的优势,将任务合理分配到Client 端和Server端来实现,降低了系统的通信开销。
Browser/Server模式:在B/S体系结构中,用户通过浏览器向分布在网络上众多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
C/S模式特点:1无论是客户端还是服务端都需要特定的软件支持。
没能提供用户期望的开放环境,适用于Intranet。
2服务器端运行负荷较轻。
3数据的存储管理功能较为透明。
4C/S体系结构的劣势是高昂的维护成本且投资大B/S模式特点:1.简化了客户端的工作,瘦客户端结构。
2.对数据库的访问和应用程序的执行将在Server上完成。
3.把技术维护人员从繁重的维护升级工作中解脱出来传统B/S模式的不足方面:1浏览器应用于Web应用系统时,许多功能不能实现或实现困难。
2复杂的应用构造困难。
3HTTP可靠性低,采用浏览器进行系统维护不安全。
4Web服务器同时要处理客户请求以及与数据库联接,负载过重。
5业务逻辑和数据安全不足多层应用体系结构特点:1安全性:中间层隔离了客户直接对数据库的访问,保护数据。
sb9-中间件

于分不是对象在混合网络环境中的应用。采用
对象请求代理(ORB)提供基础结构和一些如: 安全管理、交易/事务处理、消息处理一类的服 务功能。 COM/DCOM/COM+ :COM是Microsoft对象技术的 核心,允许在同一个网络中,不同的主机上的 对象之间进行相互交互信息。 DCOM、COM+则在
9
9. 中间件技术-中间件概述
应用集合:依靠标准的中间件可以将现有的应 用、新的应用和购买的商务构件融合在一起进
行应用集合。
系统维护:每年维护自我开发的基础软件的开支
需要当初开发费用的15%~25%,应用程序的维
护开支也是需要项目总费用的10%~20%。 质量:标准中间件的规范化模式可以有效地保 证应用系统质量及减少新旧系统维护开支。
现业务逻辑的操作。
30
9. 中间件技术-典型中间件架构分析
资源管理器(RM):用于管理系统中可以被共享 的资源,并通过资源管理器提供的接口为应用程 序提供服务。典型的资源管理器有数据库管理系
统、文件存取系统、打印共享服务器等。
事务管理器(TP):用于管理系统中可以被共享
的资源,并通过资源管理器提供的接口为应用程
9. 中间件技术
中间件概述
中间件分类
典型中间件架构分析
中间件的发展趋势
1
9. 中间件技术-中间件概述
9.1 中间件概述 中间件定义!! 中间件是一种独立的软件系统或服务程序, 分布式应用软件借助这种在不同的技术之间 共享资源。 中间件就是位于操作系统和应用软件之间的 一个软件层,它向各种应用软件提供服务, 使不同的应用进程能在屏蔽掉平台差异的情 况下,通过网络互相通信。
种数据库、透过多么复杂的网络,中间件都应 实现互操作。 通讯:要支持各种通讯协议、各种通讯服务模 式、传输各种数据内容、数据格式翻译、流量
基于RCP可扩展性应用平台研究与实现
基于RCP的可扩展性应用平台研究与实现摘要:rcp (rich client platform)是基于eclipse开发平台而推出的一套用来开发富客户端程序的应用框架。
传统b/s架构虽然在其程序部署,版本控制等方面有很大的优势,但是c/s也具备其独特的优势比如离线处理能力,低服务器负载等等。
本文回顾了eclipse以及rcp程序的特点,同时对比了基于b/s应用的特点。
本研究结合eclipse平台的特点提出一种应用于快速开发应用的可拓展性平台。
关键词:eclipse;rcp中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 23-0000-031 eclipse rcpeclipse rcp属于富客户端解决方案。
富客户端(rich client)的概念产生于20世纪90年代,具有代表性的开发工具如visual basic和delphi等。
富客户端能够支持更高用户使用体验同时提供本地处理能力。
富用户接口(rich ui)能够提供诸如拖放、系统剪切板、系统导航等等功能。
于此对应的瘦客户端则指的是系统终端程序,现在大部分瘦客户端程序已经被富客户端取代。
于此同时,用户接触更多的则是c/s和b/s系统架构的概念。
一个富客户端程序往往是基于c/s架构的。
eclipse rcp具有以下特点:(1)组件化。
eclipse框架本身就是基于插件的。
这些插件可以是可视的插件,并且可以被其他的插件访问。
不同版本的相同插件可以并存,eclipse rcp程序可以指定运行所需插件的特定版本号。
应用这样的框架,rcp程序可以随时的增加或者替换组建。
这对于程序的部署而言提供了极大的便利。
(2)eclipse中间件与eclipse rcp基础设施。
进行eclipse rcp 开发并不要求开发人员开发所有的东西,开发人员可以将精力集中在业务逻辑上,eclipse rcp开发套件提供了诸如用户接口支持(ui),可扩展的组建系统,帮助系统,网络更新系统,错误处理,日志等等。
基于Android的航空订票系统设计与实现毕业设计论文
基于Android的航空订票系统设计与实现摘要随着手机移动技术迅速发展,3G通讯技术在手机上的应用已经进入到日常生活的方方面面,手机从过去的单一通话和收发短信功能,发展到现在可进行移动搜索、全球定位导航、手机电视、实时的视频通信、网上支付和对使用者的健康进行监测等其它强大功能。
而且随着科技的进步,手机的发展也越来越快,功能更全更好的手机也随之面世,所以基于安卓系统的应用会逐渐增多,以致形成主流。
在这种情况下,为了适应这种日益增长的需求,正是开发本系统的目的。
因为现在的人出行,并不仅仅是火车、客车,随着经济的发展,人们生活水平提高的十分迅速,所以飞机已逐渐成为现在的主流。
它比火车、客车拥有更加快捷的时效性,减少了旅途的劳累。
但是现在订票的问题也随之而来,需要本人到代售点去买,十分不方便。
为此,本毕业设计在进行充分的需求调研和分析之后,设计并实现基于Android的手机航空订票系统。
该系统采用Eclipse工具集成Android的SDK开发,利用Mysql作为数据库服务器进行数据管理,并使用android模拟器测试。
本系统分为七个大的功能模块:预定机票、订单管理、网点查询、航线查询、个人管理、订阅消息和软件帮助。
其中网点查询分为查询航空公司在每个城市的营业网点、航线、航班的机型等信息.。
关键词:移动通信;智能手机开发;Android平台System design of flight query based on AndroidAbstractAlong with the rapid development of mobile technology, the application of 3 g communication technology on mobile phones has entered into every aspect of daily life, from the past single voice and text function, development to the present can be mobile search, GPS navigation, mobile TV, real-time video communication, online payment and monitoring to the health of consumers and other power. And with the progress of science and technology, the development of the mobile phone is becoming more and more quickly, the mobile phone function more complete better also, so based on the android application will gradually increase, so as to form the mainstream. In this case, in order to meet this growing demand, it is the purpose of this system development. Because now people travel at the same time, it is not just the train, bus, along with the development of the economy, improve people's living standard is very quickly, so the plane has gradually become the mainstream of the now. It more quickly than the train, bus has timeliness, reduce the fatigue of the journey. But now booking problem comes, need oneself to the outlets to buy, very inconvenient. For this reason, this graduation design after sufficient demand research and analysis, designed and implemented based on the Android mobile phone airline reservation systems. The system adopts the Eclipse tools to integrate Android SDK development, using Mysql as a database server to data management, and use the Android emulator to test. This system is divided into seven major functional modules: reservation, order management, network inquiry, route query, personal management, subscribe to news and software to help. Queries into one branch of airlines in each city outlets, routes, flights information such as the model..Keywords: mobile communications;Smartphone development;Android platform毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
第七章 地理信息系统的应用
地 理 信 息 系 统 原 理
GIS
一、3S集成概念 §7-1 3S 集成 一、结合的必要性 二、结合的途径 三、例子 §7-3 GIS 与 GPS 结合 二、结合的形式 一、分布式GIS §7-4 Web GIS §7-2 GIS 与 RS 结合 二、3S相互作用 三、3S技术的集成方式 四、3S集成应用实例 一、集成的系统结构模型
地 理 信 息 系 统 原 理
GIS
3S集成用于精细农业
联合收割机外貌
监视器和控制面板 作物产量传感
地 理 信 息 系 统 原 理
GIS
3S集成用于精细农业
• 有些载有GPS和GIS设备的农业 机械还可以在收割、耕地或其 他田间管理的同时,按照预设 的采样策略采集土壤样本,并 自动记录采样位置和分析样本
farm或cyber farm)(…)
所谓精细农业是将GIS、GPS、RS、计算机技术、通 带有与GPS相连接的电子测量组件的收割机械能 工作过程(…) 信技术、网络技术、自动化技术等高科技集成与地 在作物收割的同时测量作物产量,通过GPS随时 理学、农业、生态学、植物生理学、土壤学等基础 提供收割机当前的精确位置,通过作物产量传感 学科有机地结合起来,实现在农业生产过程中对农 器给出当前时段的收割作物流量,经计算产生出 定位精度小于1m的样区产量图,该图不仅表达了 作物、土地、土壤从宏观到微观的实时监测,以实 作物产量,而且表达了产量的分布情况,通过 现对农作物生长、发育状况、病虫害、水肥状况以 GIS搜集和存储这些信息,以提供查询、分析和 及相应的环境状况进行定期的信息获取和动态分析, 制图之用。根据产量图提供的信息分析局地低产 通过专家系统的诊断和决策,制定实施计划,并在 原因,来调整耕作方案。 GPS、GIS集成系统支持下进行田间作业。
(完整word版)基于Java_Socket通信程序设计
摘要随着时代的发展,人们互相交流的方式也在逐渐变化,从原来的面对面,到电话、手机,然后到短信、E-mail,再到现在的QQ、微信,聊天变得越来越具有实时性和有效性。
但是现在聊天软件都必须连接到Internet后才能够让人们相互交流。
如果用户在工作时候连接网络,有可能因为网络的关系使得工作效率变低;也有可能因为网络的关系,让公司内部的资料被泄露出去,使公司收到损失。
因此进行一个在局域网下的聊天工具的设计是很有必要的。
本文介绍了在局域网内实现相互收发消息的基本流程,并且编写了一个基于Socket的聊天窗口。
这个简单的软件采用的是C/S结构模式,即客户端/服务器模式。
这个软件可以让客户端和客户端能够进行通信,服务器端也能够对客户端进行发消息,还能够进行监听客户端的所有消息。
不足之处是只能够启动一个服务器,所有的客户端只能够通过一个端口连接服务器进行通信。
如果让客户端不看到不属于这个端口的其它客户发的消息,必须重新定义Server 端,更改端口。
本文用到了Sock编程、多线程、TCP/IP协议还有图形界面设计的控件编程的知识。
通过对程序进行测试,发现程序能够在同一个局域网下实现多人通信。
我们也许通过路由器分配的IP,也可以利用现在流行的“免费WiFi”,让所有人连接WiFi,这样,也会给每个客户端分配IP地址,这样也就有了局域网,它并不需要外网的帮助。
关键词:局域网;Socket;多线程;TCP/IPAbstractWith the development of the times, the communication mode of people is changed gradually. Yesterday, we communicated with each other face to face, then we tell something to others using telephone, cellphone, and then using message, e-mail. Now we tell something to each other with QQ, MSN and wechat. Communication becomes more and more real-time and ephemeral. But the software we used should depend on the Internet. If not, they are nothing. If we connect the Internent during working, we may not devote ourself into our jobs. And also, the important information may be leaked to let the company lost money. So it is important to design a software about chating in the LAN but not on the Internet.This paper intruduce that people send messages to each other in the local area network. And Programming the chat window based on the Socket. This simple application use the C/S model. The C/S model is Client/Server model. This application can let the different client sends or receives messages. Server can send message to every client and it can get all messages of every client sends. There is a weak pointthat people can just start one server. All clients should use the port the server given. If we want to divide people, we should change the port and copy another “Server”code to start new server, then some people use this server and others use another server. This paper uses the knowledges about the Socket programming, multithreading, TCP/IP protocol and the control programming about the GUI.When tested, the application can let multi clients send or receive messages. We may use the IP that the router gives us, we can also use the “Free-WiFi” that is popular now to let everyone connect the WiFi, then everybody has one IP. People have a local area network and it does not need the Internet.Key words: Local Area Network; Socket; Multithreading; TCP/IP目录引言 (1)1 实现原理 (2)1.1 C/S结构 (3)1.2 TCP/IP协议 (5)1.3 套接字 (6)1.4 多线程 (8)1.5 Socket的同步和异步方式 (10)1.6 用Socket开发的C/S模型 (11)2 总体设计 (12)2.1 程序实现原理 (12)2.2 C/S架构设计 (13)2.3 数据流图 (14)3 模块设计 (15)3.1 系统的总体流程图 (15)3.3 上传文件 (17)3.4 下载文件 (19)3.5 服务器和客户端图形界面的的详细设计 (22)3.6 服务器等待连接的详细设计 (26)3.7 监听端的详细设计 (27)3.8 客户端发送消息内容以及连接服务器程序 (27)3.6 获得客户端ip (28)4 系统测试 (29)4.1 聊天程序测试 (30)4.2 上传与下载程序测试 (33)致谢 (35)参考文献 (36)附录A (38)附录B (58)引言近年来,随着科技的不断进步,网络也在快速向前发展着。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第20卷第3期苏 州 丝 绸 工 学 院 学 报Vol.20No.32000年6月JOURNALOFSUZHOUINSTITUTEOFSILKTEXTILETECHNOLOGYJune2000文章编号:1000-1999(2000)03-0058-05
基于JAVA的数据库瘦客户端实现X
董宁威,孟锡峰,邹 宇,刘 熠(苏州大学工学院,苏州 215006)
摘 要:本文介绍了JAVA的JDBC实现,并从中找寻出适合于开发数据库瘦客户端的解决方案。最后,以Sybase公司的jConnect为例,说明了实际使用方法。关键词:Java虚拟机;Jar;jConnect;JDBC;ODBC中图法分类号:TP312JA 文献识别码:B
Internet/Intranet作为一种新兴事物,正在越来越广泛的被应用于各领域。而当今企业的发展趋势也要求企业数据库信息广域共享化。这样,传统的企业内部网结构就显得力不从心了,其主要缺点就是数据库访问客户端过于臃肿。因而,势必要求客户端的精简,最后达到除了通用系统的安装外,不需要任何其他软件的安装和设置,这就是所谓的瘦客户端。浏览器和Java两种技术的融合,使瘦客户端的实现成为可能。
1 JAVA概述Java是一种面向对象的编程语言,其起源与发展已有很多文章介绍,在此不再赘述。Java的最大优点在于它是一种字节码解释执行语言。这样,使它既具有了解释性语言的优点,又具有解释性语言运行时所不能达到的高效率。并且,随着/HotSpot0等技术的引入,Ja-va应用程度的运行速度已几可与一般可执行程序相媲美。只要有Java虚拟机(JavaVirtualMachine),Java应用程序就能在不同平台运行,并且,由于Java字节码解释器的内建机制,使Java应用程度对病毒具有良好的免疫力。在最近的一次JavaOne开发商大会上,SUN公司把Java细化成3个版本,分别针对服务器、台式机和电子电器。这3个版本分别称为Java2企业版、Java2标准版和Java2微型版。这样,使Java可以最大限度的满足不同层次的应用需要,简化Java/编写一次、到处使用0的战略。Java作为一种跨平台语言,正以迅猛的速度发展。它得到了IBM、CA、ORACLE、MI-CROSOFT等所有行业巨头的支持。现在,在服务端应用、客户端应用、分布应用、中间件设计等等领域,都能看到它的身影,并且在各个领域中都能够担当重要的角色。Java的发展前
X收稿日期:1999-12-30作者简介:董宁威(1974-),男,研究生,主要研究方向为智能化信息处理及数据库应用景是非常乐观的。2 JAVA的数据库访问实现方法Java的数据库访问方法从大的方面来说只有两种:通过JDBC来访问;通过JDBC-ODBC桥访问。但具体实现有很多种方法,方法的不同导致访问的效率和实现访问所需的环境要求都有很大的差异,进而导致了可应用的场合也有较大的不同。JDBC(JavaDatabaseConnectivity)可以认为是Java中的ODBC(OpenDatabaseConnectiv-ity)。它是在Sybase,Oracle,Informix,Symantec和Intersolv等数据库产品主流供应商的协作下制定的。和ODBC一样,JDBC标准是建立在X/OpenSQL调用层接口(X/OpenSQLCallLevelInterface)上的,对用户而言使用JDBC或ODBC,SQL语句的表示方法是一致的。下面就详细阐述一下目前主流的几种实现策略:211 JDBC-ODBC桥
图1 JDBC-ODBC数据库访问方法本方法通过JDBC-ODBC桥访问数据库服务器,可以充分利用ODBC数据源,并且JD-BC的开发也相对容易。然而,此方法除了Java运行环境外,还需要在客户端预装ODBC及相应软件。212 通过SQLAPI实现数据库访问的JDBC
图2 NATIVESQLAPI数据库访问方法
59第20卷 董宁威等:基于JAVA的数据库瘦客户端实现 这种方法实质是由JDBC直接访问本地的SQLAPI函数,再由SQLAPI完成对数据库的访问操作。但这种方法也需要预装数据库API函数库。213 直接访问数据库的JDBC
图3 JDBC数据库直接访问方法这一方法与前两种方法有了本质的区别,JDBC不需要再通过ODBC、SQLAPI或其它中间层访问数据库服务器,而是由JDBC直接访问数据库服务器。这样,只有有了数据库供应商提供的JDBC驱动器,就能自如、高效的访问相应的数据库服务器。214 通过一般网络协议实现数据库访问的JDBC
图4 JDBC数据库间接访问方法本方法与上一方法略有区别。它不是使用数据库服务器自带的协议来直接与数据库服务器通讯,而是通过与数据库无关的通用网络协议(如HTTP、IIOP等协议)来访问服务器端的数据库服务代理,再由数据库服务代理来触发数据库服务。这样,JDBC驱动器与服务器端就可以采用标准协议通讯,但由于当中隔了一层数据库服务代理,其执行效率自然比不上前一种方法。本方法与上一方法在具体应用时,究竟采用哪一种,需视具体要求而定。
60 苏州丝绸工学院学报 第3期3 用JAVA实现数据库瘦客户端的可行性通过以上几种JDBC实现方法的讨论,我们可以发现实现方法1、2都需要预装数据库供应商提供的特定软件(如:特定ODBCDriver、SQLAPI等)。但是,实现方法3、4只需要客户端有Java运行环境即可。目前,Windows系列、LINUX通用软件包等等主流操作系统几乎都捆绑某类浏览器(IE、NETSCAPE、HOTJAVA等),而所有的浏览器都内建Java虚拟机。浏览器作为一种Internet客户端通用软件,正好可作为数据库访问瘦客户端的天然载体。Java可以通过浏览器,以Applet的形式下传到客户端执行,而相应的JDBC包也可以Jar(JavaArchive,Java类的一种组织方式,类似于Linux中的tar包)的形式同时下传。这样,在客户端只需要浏览器,用户就能自如的访问数据库了,不需要另外安装任何特定软件。这就达到了本文前面提到的瘦客户端要求。
4 SybasejConnectforJDBC实例现在,所有的数据库巨头(Oracle、Sybase、Informix等)都提供了访问本公司数据库的JD-BC解决方案。下面我们就来看一下Sybase公司提供的JDBC解决方案。Sybase提供的JDBC产品称为jConnect,完全用Java写成,符合JDBC标准。并且,jCon-nect依据Java的just-in-time(JIT)的思想设计,大小只有200Kb,以方便实时下载。其使用如下(限于篇幅,只能给出一个框架):JavaApplet中的使用框架(JavaApplication中相同),,
//建立JDBC驱动器对象sybDriver=(SybDriver)Class.forName(dcom.sybase.jdbc2.jdbc.SybDriverd).newInstance();[或sybDriver=(SybRriver)Class.forName(dcom.sybase.jdbc2.jdbc.SybDriverd).newInstance();],,
//建立一个数据库连接/** server中包括连接协议、服务器IP、通讯端口、数据库名等信息* props中包括用户名、用户密码等信息*/con=DriverManager.getConnection(server,props);,,
//开始一个对话stmt=con.createStatement();,,
61第20卷 董宁威等:基于JAVA的数据库瘦客户端实现 //执行SQL语句results=stmt.execute(dSql语句d);,,//关闭对话stmt.close();,,
//关闭连接con.close();HTML中调用框架òappletcode=userJDBCApp.classarchive=djardir/jconn2.jardwidth=460height=160óòparam,,ó,,ò/appletó
5 结束语当今时代是一个信息化的时代。企业、团体的发展越来越趋向于地域上的分散化,但同时又要求管理信息的高度共享化。数据库的瘦客户端访问技术正符合了这一发展的需要,而Java与浏览器相结合的数据库瘦客户端应用可以说是目前发展的最成熟,也是最有前途的一种数据库瘦客户端实现方式。它的完全平台无关性、使用简单性及效率都是传统技术难以比拟的。基于Java的数据库瘦客户端技术有着极其光明的发展前景。
参考文献1 SybasejConnectforJDBCTechnicalWhitepaper.Sybase,Inc,1999.THEREALIZATIONFORTHINCLIENTOFDATABASEBASEDONJAVA
DONGNing-wei,MENGX-ifeng,ZOUYu,LIUYi(CollegeofTechnologyofSuzhouUniversity,Suzhou215021)
Abstract:ThispaperintroducestheimplementationofJDBC.Then,asolutionisgiventorealizethethinclientofdatabase.Finally,SybasejConnectforJDBCisillustratedtospecifythekeytechniquesofusage.Keywords:JavaVirtualMahine;Jar;jConnect;JDBC;ODBC
62 苏州丝绸工学院学报 第3期