Jsp中使用数据库连接池.

原文 Jsp中使用数据库连接池.

1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码

 

<Resource name="jdbc/books" 
       auth="Container"type="javax.sql.DataSource"  maxActive="100"  
       maxIdle="30" maxWait="10000"   username="sa"   password="120010" 
      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
     url="jdbc:sqlserver://localhost:1433;DatabaseName=news"/>

参数含义: JNDI (java naming and directory interface): Java 命名和目录接口

name 指定Resource的JNDI名称
auth 指定管理Resource的Manager(Container:由容器创建和管理|Application:由Web应用创建和管理)
type 指定Resource所属的Java类
maxActive 指定连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定连接池中处于空闲状态的数据库连接的最大数目
maxWait 指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待

 

2. 第二步将 数据驱动.jar 放入tomcat目录下的lib或common\lib下面

 

3. 第三步,打开应用程序的 Web.xml文件,添加以下配置

 

<resource-ref>
  <res-ref-name>jdbc/books</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

节点数据来源于Context.xml里面设置的数据

 

4. 在java文件中先导入以下包

import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

将原来的数据库连接操作

Class.forName("oracle.jdbc.driver.OracleDriver");
if( conn == null || conn.isClosed() ) 
 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",
 "system",
 "accp");

换成

 

Context c = new InitialContext();
DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/books");
conn = ds.getConnection();

记得要捕获 NamingException 与 SQLException 异常

使用连接池的好处是

数据库操作性能得到提升
通过连接池管理数据库的连接与释放、提高了系统资源的使用效率

时间: 2024-10-21 14:36:11

Jsp中使用数据库连接池.的相关文章

jsp中sql2008数据库连接不上

问题描述 jsp中sql2008数据库连接不上 lianjie.jsp <%@ page contentType="text/html;charset=utf-8" %> <%@ page import="java.sql.*" %> <html> <body > <font size="3"> <% Connection con; Statement sql; ResultSet

在NetBeans中设置数据库连接池详解

以往要设置数据库连接池,需要借助于第三方软件.但现在NetBeans所带的Tomcat 5.5.7及Sun Application Server 8均可以直接设置.下面谈谈如何在Tomcat 5.5.7下设置. 1. 下载数据库的专用连接驱动,并将其复制到C:\Program Files\netbeans-4.1\enterprise1\jakarta-tomcat-5.5.7\common\lib文件夹下面. 假设所用数据库是Sybase的Adaptive Server Anywhere,从S

java中自定义数据库连接池

连接池是非常好的想法,应用很普遍.自己写一个数据库连接池,并不像想象中那样困难.一般系统对连接池的功能不会有太多要求,使用自己的连接池未必是个坏主意.下面以Oracle为例,但是对Teradata和Greenplum也是可行的.另外我还实现了连接有效性检查(checkConn)和恢复连接(resetConn)的方法.本例编程采用的是JRE1.4.2环境(别忘了准备访问数据库的jar包).有任何问题请随时留言,欢迎探讨. 在Oracle内创建测试数据: drop table my_table; c

jsp中实现连接池

js 在JSP里有两种实现的办法,一种是用JNDI(Java Naming Directory Interface),这可能和应用服务器有关,如果是Resin,先在resin.conf里定义 <resource-ref> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <init-param driver-name=&quo

如何在JSP中进行数据库连接

js|数据|数据库|数据库连接 数据库连接对动态网站来说是最为重要的部分,Java中连接数据库的技术是JDBC(Java Database Connectivity).很多数据库系统带有JDBC驱动程序,Java程序就通过JDBC驱动程序与数据库相连,执行查询.提取数据等等操作.Sun公司还开发了JDBC-ODBC bridge,用此技术Java程序就可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle.Sybase.MS SQ

请教hibernate在BAE中的数据库连接池长连接问题

问题描述 因为BAE不支持长连接,所以默认的设置虽然在本机上跑的好好的,可是一上传跑了没多久就会出现下面这个错误Causedby:org.hibernate.exception.JDBCConnectionException:couldnotexecutequeryatorg.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)atorg.hibernate.exception.JDBCException

jsp中javabean数据库连接(用ODBC数据源)

问题描述 数据库是sqlserver2000我配置了ODBC数据源dcxtdatabase.java中.............Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Stringurl="jdbc:odbc:dcxt";conn=DriverManager.getConnection(url,"sa","111111");................连接不上!不知道是什

数据库连接池设置中,maxActive=0,是否代表不限制连接的数量呢?

问题描述 如文章标题上,谢谢大家指教 解决方案 解决方案二:Java中没有数据库连接池的实现.一般使用开源的数据库连接池实现,请说明具体用的是哪一款数据库连接池,还有是在什么地方使用,配置是怎么样的.另外,建议以后提问看一下<提问的智慧>,以免再问出这种不知所云的问题:解决方案三:一般就是commons-dbcp那个吧

基于JDBC的数据库连接池技术研究与应用

数据|数据库|数据库连接 摘 要 本文介绍了Java访问数据库的原理及其存在的问题,提出了解决办法-数据库连接池,并对其关键问题进行了分析,构建了一个简便易用的连接池并结合当前热门技术Servlet说明了其如何在开发时使用. 关键词 JDBC,Jsp/Servlet,数据库连接池,多数据库服务器和多用户,多线程 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server