浅谈JSP网站数据库访问效率的优化

时间:2022-10-15 09:59:43

浅谈JSP网站数据库访问效率的优化

[摘 要]本文介绍了基于JSP的JDBC技术、JavaBean技术和连接池技术三种连接Web数据库的技术,并对数据库的访问性能优化做了必要的论述。

[关键词]数据库;JDBC;JavaBean;连接池

[中图分类号]TP311[文献标识码]A[文章编号]1005-6432(2011)32-0085-01

1 概述

JSP是由Sun公司推出的基于Java的新一代站点开发语言,它具备Java的优点:稳定、安全、移植性好。在JSP中使用JavaBean和Servlet等,可以开发功能强大的Web站点程序,尤其是在访问Web数据库的操作方面。近年来,JSP技术得到了越来越广泛的应用,几乎所有基于Java的Web应用都使用了JSP。

2 基于JSP的数据库连接技术

数据库访问对动态Web网站来说是最为重要的部分,选择合适的数据库连接方式可以提高网站的访问效率。在JSP中,常用的数据库连接方法有JDBC技术、JavaBean技术和连接池技术。

2.1 JDBC技术

在Java中JDBC(Java Database Connectivity)是常用的数据库连接技术。通过JDBC技术与数据库相连有两种方法:一是通过JDBC-ODBC来连接各种数据库(支持ODBC驱动程序的);第二种方法是通过JDBC驱动程序来连接数据库。SUN公司开发了JDBC-ODBC桥,通过该连接桥,Java程序可以访问带有ODBC驱动程序的数据库。目前,常用数据库系统都带有ODBC驱动程序,所以Java程序能访问市面上大多数流行的数据库,如MS SQL Server、Oracle和MS Access等数据库。JDBC-ODBC桥连接使用简单,易于编写和维护。

2.2 JavaBean技术

JavaBean技术是一种组件,可以重复使用并且跨平台,它为程序员提供了一种很好的问题解决方案。程序员可以用JavaBean技术来封装事务,能够很好地实现业务逻辑与客户端操作的分离,使系统的灵活性和适用性更强。这种方法就是将数据库的基本操作封装在一个JavaBean包中,通过JSP来调用JavaBean从而实现数据库的连接。使用时应先对Java编写的数据库连接操作的程序进行编译,生成*.class文件,然后通过JSP来调用JavaBean来操作数据库。该技术提高了代码的重用程度并大大简化了程序设计的难度。

2.3 连接池(Connection Pool)技术

连接池就是很多数据库连接对象的集合。它的工作原理包括以下3个步骤:①连接池的建立;②连接池的管理;③连接池的关闭。当外部应用程序需要访问数据库的时候,不是直接新建一个数据库连接,而是向连接池中申请一个连接。具体在编写代码时,连接池技术的使用方法大致有以下几种:①连接池的建立、管理和关闭全部写在一个程序代码文件中;②在server.xml文件中对连接池进行全局配置,Tomcat服务器下的Web程序都适用该配置;③使用C3P0架包,这是一个开放源代码的JDBC连接池,和Hibernate一起在lib目录下,其中包含了用来实现JDBC3和JDBC2扩展规范说明的对象——Connection、Statement池的DataSources对象。在多用户并发访问的情况下选择合适的连接池使用方法,可以提高连接时的速率和节省连接所耗费的时间。

3 数据库访问性能优化

3.1 数据库的连接和关闭

当JSP页面需要频繁地访问数据库时,必然要频繁地连接和断开数据库。每次连接必须完成用户验证、安全上下文配置等任务,这就要占用一定的通信和内存资源,因此往往会成为最耗时的操作。所以当一个动态网站频繁地从数据库中存取数据时,为提高整个系统的效率可用使用连接池技术,连接池改善打开和关闭数据库对性能的影响。数据库连接池是一个用于存储数据库连接的容器,它是编写应用服务时经常需要用到的模块,当应用程序需要连接数据库时直接从连接池中获取一个连接,当使用结束时,再将这个连接交还给连接池供其他应用程序使用。这样,一个数据库连接可以被很多应用程序实例共享,应用程序无须在每次与数据库交互时都进行连接和断开操作,从而大大提高了访问数据库的效率。

3.2 使用存储过程

存储过程是存储在服务器上的一组预编译的SQL语句,类似于DOS系统中的批处理文件。存储过程具有对数据库立即访问的功能,信息处理极为迅速。使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。另外,存储过程在服务器端运行,独立于JSP程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。

3.3 优化查询语句

JSP中连接数据库消耗的资源相当大,SQL语句运行的时间越长,占用系统资源的时间也越长。因此,尽量使用优化过的SQL语句以减少执行时间。比如,不在查询语句中包含子查询语句,充分利用索引等。

4 结 论

不同的数据库连接方法各有各的优缺点,比如,JDBC技术,该技术不仅使用简单、可移植性比较强,而且编写和维护起来都比较简单,使用它可以高效地实现与大部分数据库的连接,但是它也有自己的局限性,比如,访问数据库的速度比较慢等;JavaBean技术虽然提高了程序代码的重用程度,并且简化了程序设计与编写的复杂程度,但是该技术与数据库连接时所消耗的时间比较多,当有过多用户进行并发访问时,反而会导致数据库的运行效率低下;连接池技术的功能在小负载的系统中不能体现,但随着负载的增加系统的性能会有体现。因此,程序员在编程时,应权衡利弊,选择合适的数据库连接方式,特别是在做复杂的Web网站时,可以把这三种数据库连接技术结合起来使用,对数据库做必要的性能优化,就能大大提高程序访问数据库的效率。

参考文献:

[1]李迎秋,姜仲.JSP实用教程[M].大连:大连理工大学出版社,2007.

[2]刘志成.JSP程序设计案例教程[M].北京:清华大学出版社,2007.

[3]孙叶枫.JSP中基于连接池的数据库访问技术[J].计算机应用,2004(6).

[4]黄伟.在JSP中使用连接池优化数据库访问效率[J].计算机应用,2002.

上一篇:关于电视购物的问题及解决措施探究 下一篇:打造现代服务业产业集群,促进长沙县产业结构升...