在tomcat下context.xml中配置各种数据库连接池(JNDI)
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)的更多相关文章
- 在tomcat下context.xml中配置各种数据库连接池
作者:郑文亮 Tomcat6的服务器配置文件放在 ${tomcat6}/conf 目录底下.我们可以在这里找到 server.xml 和 context.xml.当然,还有其他一些资源文件.但是在在本 ...
- tomcat下context.xml中JNDI数据源配置
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- Tomcat下server.xml中context介绍
conf/Context.xml是Tomcat公用的环境配置;若在server.xml中增加<Context path="/test" docBase="D:\te ...
- Tomcat中配置MySQL数据库连接池
Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...
- Spring数据访问1 - 数据源配置及数据库连接池的概念
无论你要选择哪种数据访问方式,首先你都需要配置好数据源引用. Spring中配置数据源的几种方式 通过在JDBC驱动程序定义的数据源: 通过JNDI查找的数据源: 连接池的数据源: 对于即将发布到生产 ...
- JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作
1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...
- 在哪个web.xml中配置welcome页面
是在tomcat的web.xml中配置,而不是在你的%web-project-root%/WEB-INF/web.xml中! 示例 <welcome-file-list> <welc ...
- Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)
1.导包 2.找到sever里的sever.xml,配置静态数据库连接池 <Context docBase="bookstore" path="/booksto ...
- Tomcat 的context.xml
1. 在tomcat 5.5之前: --------------------------------------------------------------- Context体如今/conf/se ...
随机推荐
- Ibatis基础知识:#与$的差别
背景 Ibatis是一个轻量级.非侵入式的持久层框架,适用于范围较广.较轻便--当然,不管J2EE中哪一个持久层框架,都会基于JDBC(不细究JNDI方式).我们在SqlMap中编写SQL,利用各种S ...
- C# 基础知识 (四).C#简单介绍及托管代码
暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了非常多东西,也学到了非常多东西,也认识到了非常多不足之处!闲暇之余我准备又一次进一步巩固C#相关知识,包含 ...
- Aixs2 使用总结,持续更新中 ...
参考博客:http://zhangjunhd.blog.51cto.com/113473/23692 消息交换模式. 目前Axis2支持三种模式:In-Only.Robust-In和In-Ou ...
- spring 读取配置文件
spring读取dubbo xml文件,在本项目内可以调用正常,一旦把改项目打成jar包,供其他项目调用,就会提示找不到配置文件 ClassPathXmlApplicationContext cont ...
- Android-Bug:RecyclerView的item不能横向充满的问题
在使用 RecyclerView 的时候,出现了 item 不能横向充满屏幕的问题, 如下图所示: 解决办法:发现是在使用 Adapter 的时候,在 onCreateViewHolder() 方法的 ...
- [na]代理arp导致的问题(路由卷)
已过期... 一 理论概述 \ 二 实验 实验一:代理arp在nat中的作用(实验发现一下是错的) 实验二.代理arp导致的问题 pc访问服务器想让走路由器(写32bit静态路由),右边的R arp ...
- C do {...} while (0) 在宏定义中的作用
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍.然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间.在很多的C程序中,你可能会看到许多 ...
- Ubuntu12.04下tomcat的安装与配置
1.下载tomcat 我的tomcat是从 http://tomcat.apache.org/download-70.cgi 这里下载的tar.gz版本的. 2.解压tomcat $sudo tar ...
- java.util.logging.Logger使用详解 (转)
http://lavasoft.blog.51cto.com/62575/184492/ ************************************************* java. ...
- Java类型Float&&Double
package study; public class testFloatDouble { public static void main(String[] args) { float f = 0; ...