Tomcat中配置数据源和连接池

(1)为什么需要配置数据源和连接池?

我们知道在每次java程序俩接数据库的时候我们都需要请求连接数据库然后打开读取数据然后关闭,

这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降,

为了解决这个问题我们可以让数据库提前打开连接等待用户连接当有用户连接的时候,就把数据库已存在的连接 给用户即可

而我们就把这条连接叫做“连接池”  当连接池中的连接足够的话 就分给用户,如果不够用户则在”|队列池“中等待;

(2)实现过程:

方法一:通过配置server.xml文件实现(打开server.xml找到Host的地方  添加的部分代码中写出)

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

        <Context path="" docBase="lecheng" debug="0" reloadable="true"/>
          <!--            设置数据源和连接池      -->
          <!--  name:给数据源设置名字(jndi)auth:表示数据源由谁管理(Container  容器 即tomcat管理) type:类型-->
          <Resource name="xuliugen" auth="Container" type="javax.sql.DataSourse"/>
            <ResourceParams name="xuliugen">
              <!--工厂设置-->
              <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </parameter>

              <!--驱动设置,该驱动放在tomcat的common/lib下,或者放在该站点自己的lib下-->
              <parameter>
                <name>driverClassName</name>
                <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> <!--里边的内容为自己数据库的驱动-->
              </parameter>
               <!--设置url-->
              <parameter>
                <name>url</name>
                <value>jdbc:microsoft.sqlserver://127.0.0.1:1443;DatabaseName=spdb</value>
              </parameter>
              <!--设置连接数据库的用户名-->
              <parameter>
                <name>username</name>
                <value>root</value>
              </parameter>
              <!--设置连接数据库的密码-->
              <parameter>
                <name>password</name>
                <value>root</value>
              </parameter>
              <!--在连接池中最大激活的连接数-->
              <parameter>
                <name>maxActive</name>
                <value>200</value>
              </parameter>
              <!--在连接池中最大的保留(空间)连接数-->
              <parameter>
                <name>maxIdle</name>
                <value>10</value>
              </parameter>
              <!--在连接池中最大的等待时间,按秒计算-->
              <parameter>
                <name>maxWait</name>
                <value>-1</value>
              </parameter>
          </ResourceParams>
      </Context>

      </Host>

在连接数据库的类中为如下代码:

package com.tsinghua;

import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class ConnDB {

	private Connection ct=null;

	public Connection getConn(){

	    //使用数据源连接池的方式连接数据库
	    try {

	    	//创建一个上下文环境
	    	Context con=new javax.naming.InitialContext();

	    	//通过con得到数据源
	    	DataSource ds=(DataSource) con.lookup("java:comp/env/xuliugen");  //这里的“xuliugen”即是你数据源的名字

	    	ct=ds.getConnection();

	    	System.out.println ("使用连接池的方式");
	    }
	    catch (Exception ex) {

	    	ex.printStackTrace();
	    }

	    return ct;

	}
}

在后台显示效果为:

方法二:在tomcat5.0一下版本中的方法 就是登陆administration tool 页面

时间: 2024-10-19 13:16:31

Tomcat中配置数据源和连接池的相关文章

Tomcat中设置数据源和连接池

对于大型网站来说,信息查询的次数会非常多,每次查询都需要这样的过程:加载驱动程序.创建连接.创建语句对象.执行SQL语句.关闭这些对象.这样使得每一个用户访问的时候都需要服务器做出相应,这样的话服务器端承受巨大的压力,如此效率就会下降,建立与数据库之间的连接和释放连接会占用很多系统的时间.如果能够让所有用户共享连接,仅仅创建一次连接,谁需要连接谁就使用,这样可以大大减少创建连接所占用的时间.让所有用户共享连接,并且在需要的时候就能够使用,就需要有专门的机制来创建连接,数据库连接池(Dababas

JDBC数据源和连接池

数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复制到<CATALINA_HOME>/common/lib目录下 (2)在<CATALINA_HOME>/conf/server.xml中配置数据源和连接池,例如 <Context path="/JSP_JDBC&qu

数据源和连接池

数据源 从接触DBMS开始就在用数据源(DataSource),它其中很重要的一个作用就是可以管理Connection,管理的方式也就是经常听到的ConnectionPool.它的管理其实就是对DriverManager获取Connection进行了包装. 下面就首先看看用DataSource来取代DriverManager来获取Connection的好处: 一般DataSource内部会用一个连接池来缓存Connection,这样获得Connection速度很快,可以大幅度提高数据库的访问速度

数据源和连接池介绍

为什么使用数据源和连接池 我们现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接.因此针对这种情况,提出了数据源和连接池的概念.使用数据源和连接池可以达到复用数据库连接的目的. 数据源和连接池概念 其实,数据源和连接池是两个不同的概念.有些人会把它们弄混. 数据源是用来连接数据库 获得Connection对象的,在Java中使用javax.sql.DataSource接口来表示.

【MySQL】JavaWeb项目中配置数据库的连接池

在META-INF目录下新建context.xml <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="4&

【数据库学习笔记】(4)JDBC数据源和连接池

在Tomcat中配置连接池和数据源

1.DataSource接口介绍 (1)DataSource 概述 JDBC1.0原来是用DriverManager类来产生一个对数据源的连接.JDBC2.0用一种替代的方法,使用DataSource的实现,代码变的更小巧精致,也更容易控制. 一个DataSource对象代表了一个真正的数据源.根据DataSource的实现方法,数据源既可以是从关系数据库,也电子表格,还可以是一个表格形式的文件.当一个DataSource对象注册到名字服务中(JNDI),应用程序就可以通过名字服务获得DataS

配置和使用连接池

1.在Tomcat中配置和使用连接池 (1)将JDBC的驱动复制到Tomcat的lib之下(如apache-tomcat-6.0.45\lib),如下图所示 2.在JBoss中配置和使用连接池

[转载]JavaEE学习篇之——网络传输数据中的密码学知识以及Tomcat中配置数字证书EE

原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/21716557 今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些密码学的相关知识,这就是连锁反应吗?好吧不多说了,先来看一下密码学中关于网络中数据传输的知识. 首先来了解一下网络上传输数据的加密方式: 第一种是对称加密:就是