JSP数据库访问技术研究

2022-09-11

在一个网站中, 对数据库的访问是极为重要的一部分, 网页动态显示部分的工作都是通过数据库的访问技术来实现的。JSP对数据库的访问技术有两种实现方法, 分别是JSP数据库连接技术 (J D B C技术) 和连接池 (Connection Pool) 技术。下面首先看看JSP的技术特点。

1 JSP技术特点

JSP是SUN公司推出的新一代网站开发语言, 是一种基于WEB的应用程序的开发方法。JSP采用的脚本语言是SUN公司的Java语言, 它整合并平衡了已经存在的对Java编程环境 (例如:Java Servlet和Java Beans) 进行支持的技术和工具, 使基于组件应用逻辑的页面设计的功能更加强大。

(l) 将内容生成和页面显示进行分离; (2) 强调可重用的组件; (3) 代码的安全性; (4) 跨平台性; (5) 采用标签化页面开发。

2 JDBC技术及实现方法

2.1 JDBC技术简介

JDBC (Java Database Connectivity) 是Java的开发者——SUN的Javasoft公司制订的Java数据库连接技术的简称, 可为各种常用数据库提供无缝连接技术。JDBC也是Java用于访问数据库的一套标准API, 由Java语言编写的一组类与接口组成。JDBC作为一种数据库访问技术, 具有以下优点。

(1) JDBC易于掌握; (2) 使用简单; (3) 可移植性强; (4) JDBC-ODBC桥技术; (5) 良好的可复用性; (6) 适用范围广。

2.2 JDBC技术实现方法

目前, 很多数据库系统都带有JDBC驱动程序, Java程序通过JDBC驱动程序与数据库相连, 执行相应的处理操作。而对于只带有ODBC驱动程序而没有JDBC驱动程序的数据库, S u n公司开发了J D B C-O D B C桥, 利用JDBC-ODBC桥可以使用带有ODBC驱动程序的数据库。JDBC-ODBC桥是将JDBC访问指令转换成ODBC指令, 然后通过ODBC驱动程序完成对数据库的访问。所以Java程序能访问诸如MS SQL Server, Oracle, DB2, sybase, My SQL等目前流行的各种数据库系统。下面介绍两种常用的JDBC技术的实现方法。

2.2.1 JDBC专用驱动程序的实现方法

通过JDBC专用驱动程序实现数据库访问的方法是通过Java提供的用于各种数据库 (MS SQL Server, Oracle, DB2, sybase, My SQL等) 的专用驱动程序来实现对数据库的访问。在使用这种方法之前, 首先将相关的数据库专用驱动程序放到服务器的Class Path路径下, 然后在JSP程序中创建数据库连接就可以使用数据库中的信息进行数据处理操作。

2.2.2 JDBC-ODBC驱动桥的实现方法

通过JDBC-ODBC驱动桥访问各种支持ODBC驱动程序数据库的方法己被人们广泛使用, 而且目前大多数的数据库如MS Access, MS SQL Server, Oracle, DB2, sybase, M y S Q L等都支持这种方法。通过J D B C-ODBC驱动桥访问MS Access数据库的方法, 对其它数据库进行访问的实现方法和它类似。

为了提高Java代码的可重用性, 完善其分布性应用体系的建立, Sun公司又开发了一种组件技术——Java Bean技术, 这种技术为软件开发者提供了一种极佳的解决方案, 使他们可以利用Java Bean技术封装事务逻辑, 很好地实现了业务逻辑和客户端操作的分离, 使系统具有更好的适用性和灵活性。

利用Java Bean技术进行数据库访问的工作原理是将数据库基本的处理逻辑封装在J a v a B e a n包中, 在J S P程序中通过调用Java Bean实现对数据库的访问。首先将用Java编写的数据库连接和执行数据库基本操作的Java Bean程序进行编译, 将编译后生成的气class文件存放到系统的Class Path路径下, 然后通过JSP程序调用这个Java Bean。就可以实现对数据库的访问。

3 连接池技术及实现方法

顾名思义, 连接池最基本的思想就是预先建立一些连接放置于内存对象中以备使用。数据库连接池负责分配、管理和释放数据库连接, 它允许应用程序重复使用一个现有的数据库连接, 而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。

数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接, 当需要建立数据库连接时, 只需从“缓冲池”中取出一个, 使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量, 使用情况, 为系统开发、测试及性能调整提供依据。

数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中, 这些数据库连接的数量是由最小数据库连接数来设定的。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素。

(1) 最小连接数是连接池一直保持的数据库连接, 所以如果应用程序对数据库连接的使用量不大, 将会有大量的数据库连接资源被浪费。

(2) 最大连接数是连接池能申请的最大连接数, 如果数据库连接请求超过此数, 后面的数据库连接请求将被加入到等待队列中, 这会影响之后的数据库操作。

(3) 如果最小连接数与最大连接数相差太大, 那么最先的连接请求将会获利, 之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过, 这些大于最小连接数的数据库连接在使用完不会马上被释放, 它将被放到连接池中等待重复使用或是空闲超时后被释放。

数据库连接池 (Connection Pool) 技术可以解决JDBC技术效率低下、耗费时间和并发连接数量有限等缺陷。

数据库连接池的工作原理是首先获得对连接池或者管理连接池的一个对象的引用, 这一工作由一个Pool Manager类完成, 这个类管理Conection pool类的多个实例, 每个Connection Pool管理JDBC Connection对象的一个连接池。当有数据库访问请求时, 就从连接池中获得一个连接对象Connection, 每个对象负责一个JDBC URL和相应的数据库登录账户的名称和密码, 对数据库的访问结束后将这个连接返还连接池。

摘要:对网站而言, 对数据库的访问是极为重要的, 本文以JSP访问数据库为研究对象, 主要研究了两种JSP数据库访问技术, 分别是JDBC技术和连接池技术, 所有内容既是笔者工作经验的总结, 也是在参考大量相关文献的基础上得到的理论成果, 相信对从事相关工作的同行有着重要的参考价值和借鉴意义。

关键词:JSP,JavaBean,JDBC,连接池

参考文献

[1] 胡永飘, 梁荣光, 张勇[J].JSP技术及其在OA系统中的应用[J].计算机技术与发展, 2006, 16 (1) :204~206.

[2] 刘承启, 李建民.JSP中使用非DSN的ODBC连接方式实现多种数据库间的访问[J].计算机与现代化, 2005 (11) :84~86.

上一篇:中小企业财务管理问题分析下一篇:基金资助项目或攻关课题