`
jaychang
  • 浏览: 731368 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

TOMCAT 6数据源配置

 
阅读更多

近来换了TOMCAT6,配置MYSQL数据库的数据源,在网上查找相关解决方案,后调试解决如下:

修改$CATALINA_HOME/conf/context.xml文件,加入如下代码:
<Context reloadable="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
     maxActive="100" maxIdle="30" maxWait="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/dataBaseName"/>
</Context>
jdbc/mysql  可自己设置,dataBaseName 更改为相关数据库名

把MYSQL驱动拷贝到TOMCAT的lib目录(我用的是mysql-connector-java-5.1.6-bin.jar)

不必像官方文档所说,在web应用的web.xml中配置<resource-ref>标签的属性,数据源就配置成功

java代码得到连接:
Context initCtx = new InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource)initCtx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();

另:Context元素代表一个web应用,运行在某个特定的虚拟主机上。你可以在一个Host元素中嵌套任意多的Context元素。每个Context的路径必须是惟一的,由path属性定义。

若针对某个WEB应用配置数据源,可在$CATALINA_HOME/conf/server.xml文件中的<Host></Host>标签之间加入如下的Context代码:
<Context path="/path" docBase="systemPath" reloadable="true">
    <Resource
        name="jdbc/mysql"
        auth="Container"
        type="javax.sql.DataSource"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
        username="root"
        password="root"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/dataBaseName"/>
</Context>

以上测试在Tomcat 5.5和Tomcat 6中都顺利通过。

 


根据本文我也配置也成功了。我的环境是:
Tomcat: Apache Tomcat/6.0.16
MySQL: 5.0.51a-community-nt-log MySQL Community Edition (GPL)
Connector: mysql-connector-java-5.1.6-bin.jar

开始时提示错误:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'


另外再加一种解决方案

我们可以把 Context 片断以<path>.xml保存在%CATALINA%/conf/<ENGINE>/<HOST>/文件下面。比如:我通过URL访问的应用的路径是:[url]http://localhost/test/[/url],那么,Context的文件名称为test.xml。把text.xml保存到%CATALINA%/conf/Catalina/localhost下面。其中:

  1. %CATALINA%这是Tomcat的根目录
  2. <ENGINE>在server.xml里可以通过<ENGINE> 标签的name属性看到,Catalina是Tomcat的默认名称
  3. localhost是虚拟主机的名称了。这个在server.xml里也可以查看得到。

另外,还应该在我们应用的web.xml(也就不是tomcat根目录下的conf/web.xml)里面加入资源引用:(好像不加也可以吧。Tomcat的文档里面都添加了。)

<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TomcatHibernate</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>


好了,把每个文件都贴出来。


%CATALINA%/webapps/test/WEB-INF/web.xml

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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 [url]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"     version="2.5">   <resource-ref>       <description>DB Connection</description>       <res-ref-name>jdbc/TomcatHibernate</res-ref-name>       <res-type>javax.sql.DataSource</res-type>       <res-auth>Container</res-auth>   </resource-ref> </web-app>
%CATALINA%/conf/Catalina/localhost/test.xml

<Context>     <Resource name="jdbc/TomcatHibernate" auth="Container" type="javax.sql.DataSource"           maxActive="100" maxIdle="30" maxWait="10000"          username="root" password="admin" driverClassName="com.mysql.jdbc.Driver"           url="jdbc:mysql://localhost:3306/hibernate"/>  </Context>
%CATALINA%/webapps/test/test.jsp
 
<%@ page language="java" pageEncoding="GB2312"%> <%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %> <%     Connection conn = null;     String url = "jdbc:mysql://localhost:3306/hibernate";     String user = "root";     String password = "admin";     try {         InitialContext ctx = new InitialContext();         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TomcatHibernate");         conn = ds.getConnection();         if(conn != null) {             out.println("数据源jdbc/hibernate配置成功!");         }     } catch(Exception e) {         out.println("数据源jdbc/hibernate配置失败!" + e);     } finally {         if(conn != null)             conn.close();     } %>
这个实验是在上面公布的环境下可以通过的。
这种解决方法的好处是:Context可以独立配置,不用修改Tomcat默认的server.xml context.xml等。
分享到:
评论

相关推荐

    Tomcat JDNI数据源配置详解

    ### Tomcat JNDI数据源配置详解 #### 一、引言 在现代Web应用开发中,数据库连接管理是一项至关重要的任务。为了提高应用程序的性能和可维护性,通常会采用连接池技术来管理和复用数据库连接。Apache Tomcat作为一...

    TomCat数据源配置

    总结,配置Tomcat数据源是Java Web应用中非常关键的步骤,它涉及到服务器与数据库之间的通信,合理的配置可以提升系统性能并降低资源消耗。在Tomcat 5.5中,我们通过修改`server.xml`文件来定义数据源,并在JSP页面...

    Tomcat数据源配置

    【标题】:Tomcat数据源配置 在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,常常被用于部署和运行Web应用。在这些应用中,数据源(DataSource)的配置是至关重要的,它负责管理和提供数据库连接,...

    为Tomcat6配置数据源

    ### 为Tomcat6配置数据源 #### 一、配置文件概述 在为Tomcat6配置数据源之前,首先需要了解Tomcat6的配置文件结构。Tomcat6的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...

    tomcat6.0 数据源配置

    标题“Tomcat6.0数据源配置”涉及的是在...总之,理解并正确配置Tomcat数据源是确保Web应用高效运行的关键,同时熟悉相关工具和配置文档也有助于提升运维效率。对于开发者和运维人员来说,这些知识都是不可或缺的。

    Tomcat5.5数据源的配置[图解]

    总的来说,配置Tomcat数据源涉及多个步骤,包括安装管理插件、配置服务器和应用级别的XML文件,以及正确设置数据库连接参数。每个环节都至关重要,只有确保这些步骤都准确无误,才能实现平稳的数据库连接。

    Tomcat 数据源配置

    #### 一、理解Tomcat数据源配置的重要性 在现代Web应用开发中,数据库作为数据持久层的重要组成部分,其性能和稳定性直接影响到整个应用程序的表现。因此,合理配置数据库连接池(即数据源)对于提高Web应用的响应...

    tomcat 5.5数据源配置

    Tomcat 5.5 数据源配置是将数据库连接管理交由应用服务器处理的重要步骤,它提高了应用的性能和可维护性。数据源(DataSource)是Java中用于管理数据库连接的接口,它提供了池化连接的能力,避免了频繁创建和关闭...

    tomcat jboss数据源配置.rar

    本主题主要聚焦于"tomcat jboss数据源配置.rar",这是一个关于如何在Tomcat 5.5和JBoss 4.0中配置数据源,特别是与Oracle数据库交互的详细过程。下面将深入探讨这两个关键组件以及数据源配置的相关知识点。 首先,...

    tomcat数据源连接池配置

    在Java Web应用中,Tomcat作为一款广泛应用的Servlet容器,其数据源连接池配置是确保高效、稳定数据库访问的关键步骤。本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解...

    tomcat配置JNDI数据源

    【标题】:“Tomcat配置JNDI数据源” 【描述】:“在Tomcat服务器上配置JNDI数据源,特别是通过DBCP连接池的方式” 【标签】:“tomcat,配置,JNDI数据源” 【内容】:配置JNDI数据源在Java Web应用程序中是一个...

    tomcat-数据源配置

    本文将详细解释如何在Tomcat中配置数据源,以及如何在应用程序中使用这些配置。 首先,为了与MySQL数据库通信,需要将MySQL的JDBC驱动程序JAR文件(如mysql-connector-java.jar)放入Tomcat的`common/lib`目录下。...

    Tomcat6 数据源(MySQL)配置两种方法

    ### Tomcat6 数据源(MySQL)配置方法详解 #### 一、引言 在Java Web应用开发中,Tomcat作为一款轻量级的应用服务器被广泛使用。为了更好地管理数据库连接,Tomcat内置了数据源(DataSource)的概念。本文将详细...

    tomcat配置数据源步骤

    下面将详细阐述Tomcat配置数据源的步骤以及其工作原理。 1. **理解数据源与连接池** 数据源是Java中的一个接口,通常由JNDI(Java Naming and Directory Interface)服务管理,它提供了一种统一的方式来获取和释放...

    tomcat 配置数据源

    在本篇内容中,我们将详细解析如何在Apache Tomcat服务器中配置数据源。这涉及到Tomcat服务器的基础配置、数据源的定义以及与数据库的具体连接参数等。这些知识点对于理解和掌握如何在Tomcat环境下高效地管理和使用...

    详细介绍在tomcat中配置数据源原理

    Tomcat 中配置数据源原理详解 在本文中,我们将详细介绍在 Tomcat 中配置数据源的原理。数据源是指Java应用程序连接数据库的接口,通过配置数据源,我们可以在 Java 应用程序中访问数据库。 首先, let's talk ...

    tomcat下配置数据源附xml文件

    配置Tomcat数据源分为以下几个步骤: 1. **创建JDBC驱动类的JAR文件**:确保你的Tomcat安装目录下的`lib`目录包含了对应数据库的JDBC驱动JAR文件。例如,如果是MySQL,你需要`mysql-connector-java.jar`。 2. **...

    tomcat中配置数据源

    对于源码分析,Tomcat的数据源实现主要依赖于`org.apache.tomcat.dbcp.dbcp2.BasicDataSource`类,它是Apache Commons DBCP库的一部分。这个类提供了配置数据源的各种属性,并实现了`javax.sql.DataSource`接口,...

    tomcat数据源oralce模板配置

    在Java Web应用中,Tomcat作为一款广泛应用的Servlet容器,经常需要配置数据源来连接数据库。本篇将详细讲解如何在Tomcat中配置Oracle数据源的模板,这将为其他数据库的配置提供参考。 首先,我们需要了解数据源...

    tomcat配置数据源

    在给定的部分内容中,我们可以看到一个具体的Tomcat数据源配置示例。下面将详细解释这些配置项的具体含义及其作用: 1. **定义上下文路径**: ```xml ``` 这行代码指定了Web应用的上下文路径为“/JSP”,同时...

Global site tag (gtag.js) - Google Analytics