在tomcat下context.xml中配置各种数据库连接池(JNDI)

时间:2022-04-13 04:33:32

1.   首先,需要为数据源配置一个JNDI资源。我们的数据源JNDI资源应该定义在context元素中。在tomcat6版本中,context元素已经从server.xml文件中独立出来了,放在一个context.xml文件中。因为server.xml是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。我们当然推荐把应用需要的JNDI资源配置在context.xml文件中,而不是server.xml文件中。

1、首先,将数据库的驱动程序copy到tomcat6.0\lib下,这一部是关键,如果没有copy 当运行程序的时候后报-找不到驱动-的异常。

2、将下面的代码放到Tomcat 6.0\conf\context.xml中间,如:

<Context reloadable="true">

<Resource

name="jdbc/数据库名"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="5000"

username="用户名"

password="密码"

driverClassName="数据库的驱动"

url="数据库的连接地址" />

</Context>

解释:(100 30 5000 为上面的数据)

maxActive="最大可以有100名用户连接数据源"

maxIdle="如果没有用户连接,空出30个连接等待用户连接"

maxWait="如果已连接用户5000秒内没有再次连接数据源,则放弃此连接"

完成这两部,数据源就可以用了。

另外,也可以在项目root下的WEB-INF下新建context.xml进行配置

<?xml version="1.0" encoding="UTF-8"?>

<Context>/////直连

<Resource

name="jdbc/book"

type="javax.sql.DataSource"

password=""

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

maxIdle="5"

maxWait="5000"

username="sa"

url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=book"////直连数据源

maxActive="10"/>

</Context>

<!-->

<Context>////桥连

<Resource

name="jdbc/book"

type="javax.sql.DataSource"

password=""

driverClassName="sun.jdbc.odbc.JdbcOdbcDriver"

maxIdle="2"

maxWait="5000"

username="sa"

url="jdbc:odbc:bb"///桥连的数据源

maxActive="4"/>

<WatchedResource>C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\context.xml</WatchedResource>

</Context>

<!-->

直接在Context文件中加入入:

<Resource

name="jdb/dbsource"

type="javax.sql.DataSource"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

maxIdle="2"

maxWait="5000"

url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=jspdev"

maxActive="4"/>

username="he"

password="he"

通过java的jndi就可以了

InitialContext initCtx = new InitialContext();
       DataSource ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/数据库名");
       Connection conn = ds.getConnection();

以下是各种数据库的配置

1.sql2000

<Resource 
 name="jdbc/数据库名"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="5000"

username="用户名"

password="密码"

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=数据库名" 
/>

2.oracle

<Resource  
name="jdbc/数据库名" 
type="javax.sql.DataSource" 
maxActive="100" 
maxIdle="30"  
maxWait="5000" 
username="用户名"  
password="密码"  
driverClassName="oracle.jdbc.driver.OracleDriver"  
url="jdbc:oracle:thin:@127.0.0.1:1521:ora9" 
/>

3.mysql

<Resource name="jdbc/mysql" 
auth="Container" 
type="javax.sql.DataSource" //资源类型 
driverClassName="org.gjt.mm.mysql.Driver" 
url="jdbc:mysql://localhost/数据库名"  
username="用户名" 
password="密码" 
maxActive="100" //最大连结数 
maxIdle="30" //最大空闲时间,0为无限制 
maxWait="10000"/> //建立连接的的最大等待时间

在tomcat下context.xml中配置各种数据库连接池(JNDI)的更多相关文章

  1. 在tomcat下context&period;xml中配置各种数据库连接池

    作者:郑文亮 Tomcat6的服务器配置文件放在 ${tomcat6}/conf 目录底下.我们可以在这里找到 server.xml 和 context.xml.当然,还有其他一些资源文件.但是在在本 ...

  2. tomcat下context&period;xml中JNDI数据源配置

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  3. Tomcat下server&period;xml中context介绍

    conf/Context.xml是Tomcat公用的环境配置;若在server.xml中增加<Context path="/test" docBase="D:\te ...

  4. Tomcat中配置MySQL数据库连接池

    Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...

  5. Spring数据访问1 - 数据源配置及数据库连接池的概念

    无论你要选择哪种数据访问方式,首先你都需要配置好数据源引用. Spring中配置数据源的几种方式 通过在JDBC驱动程序定义的数据源: 通过JNDI查找的数据源: 连接池的数据源: 对于即将发布到生产 ...

  6. JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作

    1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...

  7. 在哪个web&period;xml中配置welcome页面

    是在tomcat的web.xml中配置,而不是在你的%web-project-root%/WEB-INF/web.xml中! 示例 <welcome-file-list> <welc ...

  8. Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)

    1.导包   2.找到sever里的sever.xml,配置静态数据库连接池 <Context docBase="bookstore" path="/booksto ...

  9. Tomcat 的context&period;xml

    1. 在tomcat 5.5之前: --------------------------------------------------------------- Context体如今/conf/se ...

随机推荐

  1. Boost配置

    =================================版权声明================================= 版权声明:本文为博主原创文章 未经许可不得转载  请通过右 ...

  2. struts2更新版本操作有关事项备注

    struts2更新版本操作有关事项备注, 更新主要jar包:struts2-convention-plugin-version,struts2-core-version, struts2-spring ...

  3. 联系我们&lowbar;站内信息&lowbar;站内资讯&lowbar;网上定制衬衫&vert;衬衫定制&vert;衬衫定做-ChenShanLe衬衫乐

    联系我们_站内信息_站内资讯_网上定制衬衫|衬衫定制|衬衫定做-ChenShanLe衬衫乐 衬衫乐定制网是国内领先的成衣定制机构,专业从事衬衫网络在线定制.高级定制服装的价格不菲,而衬衫乐运用了&qu ...

  4. 获取控件id

    普通状态中JS获取控件IDdocument.getElementById('controlID'); JS获取父窗口控件IDwindow.parent.document.getElementById( ...

  5. css盒子

    <html><head lang="en"> <meta charset="UTF-8"> <title>&lt ...

  6. C&num;的进度条透明的情况&lpar;穿透问题&rpar;

    如图: 很明显,可以看到透过进度条的框框可以看到下面的软件界面, 之前出现这种情况是因为pictureBox和panel层级之间的关系造成的, 没想到这次的原因居然不是这样,而是因为少了backCol ...

  7. Visual Studio中添加API断点

    如:添加 PostMessageA 断点 {,,USER32.DLL}_PostMessageA@16 //判断为WM_CLOSE消息*(int*)(esp + 8) == 0x0010

  8. Datatable和实体还有实体集List的差别与转化

    机房收费系统大家想必不是做完.就是已经在手上了,在一開始做的时候就明白规定.我们必须用实体.而不能使Datatable,由于说是Datatable直接面向了数据库,当时不是非常明白,于是也没有再深究, ...

  9. ps -aux &comma;ps aux &comma;ps -ef 的区别

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  10. iOS开发RunnLoop学习二:GCD中的定时器

    #import "ViewController.h" @interface ViewController () /** 注释 */ @property (nonatomic, st ...