`
Ivan0513
  • 浏览: 212575 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Tomcat6 Datasource配置 自己动手后的一些经验备忘

阅读更多

运行环境: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的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...

    配置datasource

    在IT领域,特别是Java应用服务器环境下的开发与部署过程中,数据源(DataSource)的配置是一项至关重要的任务。本文将深入探讨如何在Tomcat服务器中配置数据源,具体步骤及注意事项,确保应用程序能够高效、稳定地...

    db+Tomcat DataSource

    【db+Tomcat DataSource】指的是在Java应用服务器Tomcat中配置数据库连接池DataSource,以便应用程序能够高效、安全地访问Oracle 11g数据库。在这个场景中,首先需要安装Oracle 11g数据库,并通过初始化脚本创建表...

    p6spy dataSource 配置 监听真实sql语句

    p6spy dataSource 配置 监听真实sql语句

    tomcat6中配置JNDI方法

    ### Tomcat6中配置JNDI方法详解 #### 一、引言 在Java Web开发过程中,连接数据库是一项基础而重要的工作。常见的连接方式包括直接使用JDBC(Java Database Connectivity)以及通过JNDI(Java Naming and Directory...

    Tomcat6配置连接池

    ### Tomcat6配置连接池详解 #### 一、引言 在Java Web开发中,数据库连接池技术的应用极为广泛。合理的数据库连接管理不仅能提高应用程序的性能,还能有效避免因频繁创建销毁连接所导致的资源浪费问题。Apache ...

    Tomcat 数据源配置

    - 配置完成后,重启Tomcat服务器使配置生效。 - 在Web应用中编写代码尝试获取数据源并执行简单的数据库操作,例如查询表中的记录,以验证数据源配置是否正确。 #### 四、注意事项 - 在生产环境中,建议将敏感...

    hibernate连接池之tomcat6的配置

    标题“hibernate连接池之tomcat6的配置”涉及到的是如何在Tomcat6服务器中配置Hibernate连接池,以便高效管理数据库连接。这通常是为了优化应用程序的性能和资源利用。以下将详细介绍相关知识点: 1. **Hibernate**...

    Tomcat连接池配置

    **标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...

    Tomcat6.x Configure DataSource

    标题 "Tomcat6.x Configure DataSource" 指的是在Tomcat 6.x版本中配置数据源(DataSource)的过程。在Java应用服务器中,数据源是一个关键组件,它负责管理数据库连接,提供给应用程序使用。配置数据源能提高性能,...

    Tomcat6连接池配置详解(自动重连)

    ### Tomcat6连接池配置详解(自动重连) #### 一、引言 在现代Web应用开发中,数据库连接管理是非常重要的一环。为了提高应用性能并确保资源的有效利用,通常采用连接池技术来管理数据库连接。Apache Tomcat作为一...

    Tomcat服务器配置及数据库连接池配置(个人整理版)

    ### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...

    tomcat配置sql数据库

    - 完成配置后保存设置,此时数据源已被成功添加到Tomcat中。 #### 三、总结 通过上述步骤,我们不仅成功地在Tomcat中配置了SQL Server数据库,而且还了解了如何编写简单的JSP页面来测试数据库连接。这对于初学者...

    Tomcat+MySql配置

    ### Tomcat+MySQL配置知识点详解 #### 一、J2SE环境配置 ##### 1.1 安装J2SE v1.5及以上版本 **背景介绍:** J2SE (Java 2 Platform, Standard Edition) 是Java的核心部分,包含了开发Java应用程序所需的类库和...

    tomcat6配置数据库连接池代码

    本文将详细讲解如何在Tomcat6中配置数据库连接池,并以`index.jsp`为例展示如何在Web应用中使用这些配置。首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的...

    Tomcat6配置JNDI出错

    在本文中,我们将深入探讨“Tomcat6配置JNDI出错”这一主题,这是一个常见的问题,很多开发者在搭建和配置Java企业级应用时可能会遇到。 JNDI,全称Java Naming and Directory Interface,是Java平台的一个标准接口...

    tomcat6.0配置心得

    下面,我们将详细介绍 Tomcat 6.0 的一些配置心得,以帮助大家更好地使用 Tomcat 6.0。 一、连接池配置 连接池配置是 Tomcat 6.0 中一个重要的配置,用于管理数据库连接。在 Tomcat 4.0 中,连接池配置使用的是 ...

    tomcat10种配置技巧

    【Tomcat配置技巧详解】 Tomcat作为一款广泛使用的开源Servlet和JSP容器,因其免费、跨平台和高效性而备受开发者喜爱。以下是十个关键的Tomcat配置技巧,旨在帮助初级学习者更好地理解和优化Tomcat的运行环境。 1....

    Websphere服务器中配置DataSource

    3. **应用配置**:重启Tomcat6,使配置生效,然后应用程序可以通过JNDI查找并使用这些数据源。 在所有这些配置过程中,确保JDBC驱动版本与数据库服务器兼容,同时注意在服务器环境变量或类路径中包含驱动。配置完成...

    tomcat6.0 配置jndi

    4. 配置完成后,记得重启Tomcat服务器使配置生效。 **四、JNDI在Spring中的应用** Spring框架提供了多种方式与JNDI交互,如`JndiTemplate`、`JndiObjectFactoryBean`等。在上述示例中,我们使用了`...

Global site tag (gtag.js) - Google Analytics