免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 991 | 回复: 0
打印 上一主题 下一主题

优化jsp链接数据库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-01 19:53 |只看该作者 |倒序浏览
用jdbc-odbc桥来连接,不过这可是牺牲了速度来的。用jdbc-odbc桥的话,和连接
access是一样的,先要设置一个数据源DNS,然后就用
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:strurl",”
username”,”password”);
进行数据库的链接是比较耗时的,如果频繁刷新页面,那就会不停的访问数据库,大大
耗去了数据库的资源。Jsp提供了这样一对函数,jspInit(),jspDestory();如果
要在jsp网页开始执行时,进行某些数据的初始化,则可以利用jspInit函数来完成。此
函数将在jsp网页被执行时调用,且当jsp网页重新整理时,并不会被再度执行。当关闭
服务器时,jspDestory函数将被调用,可利用该函数来完成数据的善后处理。
我们可以利用jspInit和jspDestory函数来完成数据库的链接和关闭。在jspInit中进行
数据库的链接,可以避免每次刷新页面时都要链接数据库,提高了工作效率。
以下是代码实例:
当jsp网页从数据库中取得数据时,最耗费服务器时间的是建立数据库链接。用jspInit
和jspDestory函数并不是非常好的办法,毕竟每浏览一次新网页,就要建立数据库链
接。这个时候可以为一个联机者建立一个数据库链接。这里我们利用Bean对象来建立数
据库链接。
以下是代码实例:
conn.java
//定义bean所属的套件
package com.test;

import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
public class conn implements HttpSessionBindingListener

{
private Connection con=null;
public conn() //在构造函数中完成数据库链接
{
BulidConnection();
}
private void BulidConnection()
{
try
{
//载入驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e1)
{
System.out.println("数据库驱动加载失败
");
}
try
{
//建立数据库链接
con=DriverManager.getConnection("jdbc:odbc:test","test","test");
}
catch(SQLException e2)
{
System.out.println("数据库连接失败");
}
}
//取得Connection对象
public Connection getConnection()
{
if(con==null)

BulidConnection();
return this.con;
}
public void close()
{
try
{
con.close();
con=null;
}
catch(SQLException sex)
{
System.out.println(sex.toString());

}
}
//当物体加入session时,将自动执行此函数
public void valueBound(HttpSessionBindingEvent event){}
//当session对象删除时,将自动执行此函数
public void valueUnbound(HttpSessionBindingEvent event)
{
if(con!=null)
close();//调用close方法
}
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21763/showart_149350.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP