运行环境:JDK 1.6.0_18
容器:Tomcat 6.0.20 免安装版
数据库:SQLServer2005
配置DataSource
方案一:配置全局Datasource
(1)修改tomcat/conf/context.xml
<Context>
<!-- 其他地方不用动,增加以下代码 -->
<Resource name="jdbc/globalConnectionPool" auth="Container" type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
<!--增加结束-->
</Context>
(2)修改工程的web.xml
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 其他地方不用动,增加以下代码 -->
<resource-ref>
<description>JNDI Global Datasource </description>
<res-ref-name>jdbc/globalConnectionPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!--增加结束-->
</web-app>
(3)因为这个配置是全局性的,所以需要报jdbc Driver放置到tomcat/lib下,
例如:我用的是SQLServer2005数据库,我就需要把sqljdbc.jar放置到tomcat/lib
方案二:配置全局Datasource
(1)修改tomcat/conf/server.xml
在<GlobalNamingResources>节点下增加,GlobalNamingResources下有其他Resource节点也不用管
<GlobalNamingResources>
<!-- 其他地方不用动,增加以下代码 -->
<Resource name="jdbc/globalConnectionPool2" auth="Container" type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
<!--增加结束-->
<!--也许有其他Resource节点-->
</GlobalNamingResources>
(2)修改tomcat/conf/context.xml
<Context>
<!-- 其他地方不用动,增加以下代码 -->
<ResourceLink global="jdbc/globalConnectionPool2" name="jdbc/globalConnectionPool2" type="javax.sql.DataSource" />
<!--增加结束-->
</Context>
(3)重复 方案一 的(2)、(3)
方案三:配置全局Datasource [Tomcat 6.0没有成功,但别人说tomcat5.5行,自己没有验证]
(1)修改tomcat/conf/server.xml
在<GlobalNamingResources>节点下增加,GlobalNamingResources下有其他Resource节点也不用管
<GlobalNamingResources>
<!-- 其他地方不用动,增加以下代码 -->
<Resource name="jdbc/globalConnectionPool2" auth="Container" type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
<!--增加结束-->
<!--也许有其他Resource节点-->
</GlobalNamingResources>
(2)在tomcat\webapps\myapp\META-INF\context.xml的Context中增加:[我自己的META-INF目录下,根本没有context.xml,也不知道自己Copy的xml是否正确]
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
推荐
方案四:配置局部Datasource
假设我的工程名叫myutil
(1)工程必须配置到tomcat/webapps下,即 tomcat/webapps/myutil
(2)工程增加:META-INF/context.xml,即tomcat/webapps/myutil/META-INF/context.xml
【没有就建一个目录及xml文件】
XML内容
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/myutil" reloadable="true" crossContext="true">
<Resource name="jdbc/globalConnectionPool4"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
</Context>
XML内容也可以是: [我想说的是docBase属性可有可无,里面的内容也可以随意,如docBase="/Ilovejava"]
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/globalConnectionPool4"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
</Context>
(3)将JDBC Driver放入工程的lib中
(4)无需在web.xml做任何配置
A:
如果你报:javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
那么,以下这个经验可能对你有帮助:
如果
(1)工程放在webapps下
(2)工程创建了META-INF目录,配置了context.xml
(3)假设工程名是:myutil
那么,在启动Tomcat的时候,会在\tomcat\conf\Catalina\localhost目录下生成一个文件,名为:myutil.xml
里面的内容,应该是跟:META-INF/context.xml一样的。
有时候,你手工删除了\tomcat\conf\Catalina\localhost\myutil.xml,
当你重新启动时,tomcat不一定帮你重新生成,
运行程序就会报javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
或者
你发现META-INF/context.xml错了,你更正了,重启tomcat,
context.xml的内容未必会同步到conf\Catalina\localhost\myutil.xml,所以程序仍然报错!
大家要小心确。
B:如果希望使用非tomcat自带的连接池,
1.<Resource />增加属性:factory,即
<Resource name="jdbc/globalConnectionPool4"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
其他同上
/>
参考文章:http://tech.ddvip.com/2009-04/1239789141115193.html
C:
driver的lib包 及 连接池的lib包,如果放在了工程的WEB-INF/lib下,就没必要放到tomcat的lib目录下了。
当然,只放在tomcat的lib下,工程的lib没有,也OK
推荐
方案五:配置局部Datasource
(1)工程不需要配置到tomcat/webapps下;
(2)假如我希望到时候别人访问我的程序是:http://IP地址:端口/myutil,
那么,在tomcat/conf/下增加两层:Catalina\localhost目录,在Catalina\localhost下增加myutil.xml
(3)配置myutil.xml
<?xml version='1.0' encoding='utf-8'?>
<Context path="/myutil" <!--对应xml文件名,及工程访问名称-->
docBase="D:\eclipse workspace\MyUtil\myutil" <!--本工程实际存放的地址-->
reloadable="true" crossContext="true">
<Resource name="jdbc/globalConnectionPool4"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=bshk"
username="bshk"
password="bshk"
maxActive="20"
maxIdle="10"
maxWait="10000" />
</Context>
分享到:
相关推荐
### 为Tomcat6配置数据源 #### 一、配置文件概述 在为Tomcat6配置数据源之前,首先需要了解Tomcat6的配置文件结构。Tomcat6的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...
在IT领域,特别是Java应用服务器环境下的开发与部署过程中,数据源(DataSource)的配置是一项至关重要的任务。本文将深入探讨如何在Tomcat服务器中配置数据源,具体步骤及注意事项,确保应用程序能够高效、稳定地...
【db+Tomcat DataSource】指的是在Java应用服务器Tomcat中配置数据库连接池DataSource,以便应用程序能够高效、安全地访问Oracle 11g数据库。在这个场景中,首先需要安装Oracle 11g数据库,并通过初始化脚本创建表...
p6spy dataSource 配置 监听真实sql语句
### Tomcat6中配置JNDI方法详解 #### 一、引言 在Java Web开发过程中,连接数据库是一项基础而重要的工作。常见的连接方式包括直接使用JDBC(Java Database Connectivity)以及通过JNDI(Java Naming and Directory...
### Tomcat6配置连接池详解 #### 一、引言 在Java Web开发中,数据库连接池技术的应用极为广泛。合理的数据库连接管理不仅能提高应用程序的性能,还能有效避免因频繁创建销毁连接所导致的资源浪费问题。Apache ...
- 配置完成后,重启Tomcat服务器使配置生效。 - 在Web应用中编写代码尝试获取数据源并执行简单的数据库操作,例如查询表中的记录,以验证数据源配置是否正确。 #### 四、注意事项 - 在生产环境中,建议将敏感...
标题“hibernate连接池之tomcat6的配置”涉及到的是如何在Tomcat6服务器中配置Hibernate连接池,以便高效管理数据库连接。这通常是为了优化应用程序的性能和资源利用。以下将详细介绍相关知识点: 1. **Hibernate**...
**标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...
标题 "Tomcat6.x Configure DataSource" 指的是在Tomcat 6.x版本中配置数据源(DataSource)的过程。在Java应用服务器中,数据源是一个关键组件,它负责管理数据库连接,提供给应用程序使用。配置数据源能提高性能,...
### Tomcat6连接池配置详解(自动重连) #### 一、引言 在现代Web应用开发中,数据库连接管理是非常重要的一环。为了提高应用性能并确保资源的有效利用,通常采用连接池技术来管理数据库连接。Apache Tomcat作为一...
### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...
- 完成配置后保存设置,此时数据源已被成功添加到Tomcat中。 #### 三、总结 通过上述步骤,我们不仅成功地在Tomcat中配置了SQL Server数据库,而且还了解了如何编写简单的JSP页面来测试数据库连接。这对于初学者...
### Tomcat+MySQL配置知识点详解 #### 一、J2SE环境配置 ##### 1.1 安装J2SE v1.5及以上版本 **背景介绍:** J2SE (Java 2 Platform, Standard Edition) 是Java的核心部分,包含了开发Java应用程序所需的类库和...
本文将详细讲解如何在Tomcat6中配置数据库连接池,并以`index.jsp`为例展示如何在Web应用中使用这些配置。首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的...
在本文中,我们将深入探讨“Tomcat6配置JNDI出错”这一主题,这是一个常见的问题,很多开发者在搭建和配置Java企业级应用时可能会遇到。 JNDI,全称Java Naming and Directory Interface,是Java平台的一个标准接口...
下面,我们将详细介绍 Tomcat 6.0 的一些配置心得,以帮助大家更好地使用 Tomcat 6.0。 一、连接池配置 连接池配置是 Tomcat 6.0 中一个重要的配置,用于管理数据库连接。在 Tomcat 4.0 中,连接池配置使用的是 ...
【Tomcat配置技巧详解】 Tomcat作为一款广泛使用的开源Servlet和JSP容器,因其免费、跨平台和高效性而备受开发者喜爱。以下是十个关键的Tomcat配置技巧,旨在帮助初级学习者更好地理解和优化Tomcat的运行环境。 1....
3. **应用配置**:重启Tomcat6,使配置生效,然后应用程序可以通过JNDI查找并使用这些数据源。 在所有这些配置过程中,确保JDBC驱动版本与数据库服务器兼容,同时注意在服务器环境变量或类路径中包含驱动。配置完成...
4. 配置完成后,记得重启Tomcat服务器使配置生效。 **四、JNDI在Spring中的应用** Spring框架提供了多种方式与JNDI交互,如`JndiTemplate`、`JndiObjectFactoryBean`等。在上述示例中,我们使用了`...