网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用JavaMail发送邮件.
.用Java将文件名从中文转为拼音.
.远程控制Java.
.JavaScript的编程.
.java的“别名”以及clone机制.
.Java的垃圾回收机制详解和调优.
.用Eclipse Visual Editor 开发SW.
.Java C/S mode --Client.
.Java的i18n问题.
.J2SE简介.
.JavaServer Faces 简介.
.开发java 工具集.
.巧用JBuilderX代码美化工具.
.J2SE1.4的I/O新特性.
.软件开发成功12法则.
.Halloway:对Ruby VS Java误区的深.
.基础篇:Java语言的基本组成.
.Swing是MVC设计的典范.
.Java编程中异常处理的优劣之道.
.新手入门:介绍Java学习的一些主.

JDBMonitor基本原理探究

发表日期:2008-1-5


    JDBMonitor(可以从www.cownew.com下载)是一个非常强大的数据库监控、日志工具,它的无侵入性是它最大的特点。所谓无侵入性指的是无需编写代码就可以为系统增加数据日监控、日志功能。那么它到底是怎么实现的呢?咱们来探索一下它的基本原理。

    要明白JDBMonitor的工作原理,必须首先弄明白JDBC驱动的工作原理:所有的JDBC驱动都实现Java.sql.Driver接口,此接口有两个重要方法:Connection connect(String url, java.util.Properties info),boolean acceptsURL(String url)。

    JDBC中有个DriverManager类,它有一个重要方法,registerDriver(java.sql.Driver driver)

    所有的JDBC驱动都要调用此方法,这样才能将注册到驱动治理器中。

    当用户调用DriverManager.getConnection("jdbc:……")的时候,DriverManager就把用户穿过来的连接字符串“jdbc:……”发给每个注册的驱动Driver的acceptsURL方法做为参数,驱动Driver就调用这个Driver的connect方法然后将方法的返回值直接做为自己的返回值。

    更具体的解释请查看JDBC的JavaDoc,或者参考如下文章:http://www.cntopedu.cn/cntopedu_Html_itxuetang/200562963708.ASP

    JDBMonitor写了自己的JDBCDriver:DBDriver,这个DBDriver识别所有以listenerconfig=开头的jdbc连接字符串,这样假如您修改了您系统的JDBC连接字符串并添加listenerconfig=等部分以后,此url就不会被您原来的JDBC驱动熟悉,耳反而被DBDriver熟悉,这样每次的数据库连接调用也都通过DBDriver以及相关的类来进行(比如DBPreparedStatement等),这些类首先先把通过的数据库调用记录下来,然后再转发给真正的数据库驱动,这样就达到了拦截任何JDBC调用的目的。更相信内容,请参考com.cownew.JDBMonitor.jdbc包下的DBDriver、DBConnection、DBStatement、DBPreparedStatement等类。这些类采用了代理模式、装饰者模式等设计模式,使得程序的可扩展性得到很大的提升。


上一篇:Hacking swing: 一个JDBC表控件模型 人气:972
下一篇:Quartz与Hibernate数据库连接的结合 人气:772
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐