`
crazyliuzhi
  • 浏览: 29602 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Tomcat6.0中JNDI的配置以及常见问题(备用)

    博客分类:
  • Java
阅读更多

以下是基于Tomcat6.0的配置

1、在Tomcat根目录\conf\context.xml里的<Context>节点中添加以下配置

    <Resource name="fileManager" auth="Container" type="javax.sql.DataSource" maxActive="100"
  maxIdle="30" maxWait="10000" username="admin" password="123"
  driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
  url="jdbc:sqlserver://localhost:1433;DatabaseName=FileManager" />

这里我们介绍一下<Resource>节点中的属性,

(1)、name:指定Resource的JNDI名字,可自定义;

(2)、auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示容器用来创建Resource,Application表示有Web应用来创建和管理Resource;

(3)、type:指定Resource所属的Java类名;

(4)、maxActive:指定数据连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制;

(5)、maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制;

(6)、maxWait :指定数据库连接池中数据库连接处于的空闲状态的最长时间(以毫秒为单位),超过一段时间将会抛出异常。取值为-1,表示可以无限制等待;

(7)、username:指定连接数据库的用户名;

(8)、password:指定连接数据库的口令;

(9)、driverClassName:指定连接数据库的JDBC驱动程序;

(10)、url:指定连接数据库的URL


2、在你的的web.xml里面增加以下代码:

<resource-ref>
 <description>JNDI Datasource example</description>
 <res-ref-name>fileManager</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>

同样的这里我们介绍一下<resource-ref>的属性

(1)、description:对所引用资源的说明(自定义);

(2)、res-ref-name:指定所引用资源的JNDI名字,与<Resource>元素的name属性对应;

(3)、res-type:指定所引用资源的类名字,与<Resource>元素中的type属性对应;

(4)、res-auth:指定管理所引用的资源的Manager,与<Resource>元素中的auth属性对应。

3、添加数据库驱动文件

通过数据源访问数据库,由于数据源由Tomcat创建并维护,所以必须把JDBC驱动程序复制到Tomcat的lib目录下。

4、获得数据源

这里我们建立一个类

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

 

public class DBHelper {
      private static Connection getCon() {
          Connection con = null;
          try {
               Context context=new InitialContext();
               DataSource  ds=(DataSource)context.lookup("java:/comp/env/fileManager");
               con=ds.getConnection();
           } catch (Exception e) {
               e.printStackTrace();
          }
          return con;
     }

}

这样我们就可以获得数据库连接了。

值得注意的是上述代码中下划线行为通过Context获得数据源后取得Connection对象,红色字体的代码为前缀,不可以更改,蓝色字体的代码为创建的JNDI的名字。

这样JNDI的配置就完成了,下面我再列出几个常见的错误,我就遇到了两个错误。

1、错误一(如图):

错误提示:Cannot load JDBC driver class 图片

错误原因及解决方法:前面我们讲过通过数据源访问数据库,数据源由Tomcat创建,所以应该吧JDBC驱动程序的JAR文件复制到Tomcat的lib目录下,一般来说这样操作,问题就应该解决了。

2、错误二(如图):

错误信息:Name jdbc is not bound in this Context(jdbc名称没有绑定到当前上下文)

图片

一般来说此问题就是在使用lookup()方法查找数据源时参数未写JNDI名称或者未写前缀,建议仔细检查一下。

3、错误三(如图):

错误信息:Cannot create JDBC driver of class '' for connect URL 'null'   ----由于连接路径为NULL,不能创建驱动。图片

此问题一般是因为在context.xml文件中指定的数据源名称与程序中所要访问的数据源名称不一致,建议仔细检查一下,很多问题都是由于粗心造成的。

好了,关于JNDI的配置以及常见问题就到这里了。

1
3
分享到:
评论

相关推荐

    tomcat6.0 配置jndi

    总的来说,配置Tomcat6.0的JNDI主要涉及到服务器端的全局资源定义和应用程序内部的资源引用,以及Spring框架如何利用JNDI查找和管理数据源。通过这样的配置,我们可以实现数据库连接的集中管理和优化,提升应用的...

    tomcat6.0 数据源配置

    在这个主题中,我们将深入探讨如何配置数据源,以及它在Tomcat中的工作原理。 数据源(DataSource)是Java企业版(Java EE)中一个重要的概念,它允许应用服务器管理与数据库的连接,提供线程安全、高效的数据库...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    配置JNDI数据源在Tomcat中通常涉及以下几个步骤: 1. **配置context.xml**: - 提供的文件名`context.xml`表明这是Tomcat的上下文配置文件,通常位于`$CATALINA_HOME/conf/Catalina/localhost/应用名.xml`或者在...

    tomcat6.0中配置JNDI的DBCP连接

    在Java应用服务器中,如Tomcat 6.0,配置JNDI(Java Naming and Directory Interface)的DBCP(Database Connection Pool)连接池是管理数据库连接的重要步骤。JNDI是一个标准接口,允许应用程序查找和访问命名服务...

    tomcat6.0连接通过JNDI连接mysql实例

    Tomcat 6.0 中通过 JNDI 连接 MySQL 实例需要进行详细的配置和设置。本文将对 Tomcat 6.0 中的 JNDI 连接 MySQL 实例进行详细的介绍和解释。 配置 JNDI 资源 在 Tomcat 6.0 中,需要在 `META-INF/context.xml` ...

    Tomcat6.0 JNDI数据源经典实例

    本实例是一个关于如何在Tomcat 6.0中配置和使用JNDI数据源的经典示例,包含了所需的JAR包、配置文件和SQL脚本。 首先,我们来看配置JNDI数据源的步骤。在Tomcat的`conf/server.xml`文件中,你需要添加一个新的`...

    tomcat6.0JNDI连接数据库.

    在Java应用服务器中,Tomcat 6.0是一款广泛使用的轻量级服务器,它支持多种方式来连接数据库,其中一种常见的方法就是通过Java Naming and Directory Interface (JNDI)。JNDI允许开发者以统一的方式来查找和访问各种...

    apache-tomcat6.0-tomcat+配置教程

    以上只是配置Apache Tomcat 6.0的基础步骤和关键概念,实际操作中可能需要根据具体需求进行更复杂的配置。提供的`tomcat_6.0配置.docx`文档应该包含更多细节和具体示例,是进一步学习的好资源。记住,理解和掌握这些...

    tomcat6.0是一款免费开源的jsp服务器

    Valves是Tomcat中的一个独特概念,它们是处理请求生命周期中的各个阶段的组件。开发者可以根据需求自定义Valves,插入到请求处理路径中,实现日志记录、身份验证、会话管理等功能。Tomcat6.0内置了一些预定义的...

    Tomcat5.0和Tomcat6.0

    本篇文章将深入探讨Tomcat5.0和Tomcat6.0这两个版本的主要特点、改进以及它们在Web服务器领域的应用。 **Tomcat5.0** Tomcat5.0是在2003年发布的,它主要基于Java Servlet 2.4和JavaServer Pages 2.0规范。这个...

    tomcat6.0官方文档文档

    在Tomcat中,JNDI用于配置数据库连接池、邮件会话等资源。文档介绍了如何创建和管理这些资源,以及如何在应用中查找和使用它们。 五、监控(monitoring.html) 监控文档讲解了如何监控Tomcat服务器的运行状态,包括...

    tomcat6.0的源代码

    2. ** Jasper**:Jasper是Tomcat中的JSP引擎,负责将JSP页面编译成Servlet,然后由Catalina执行。Tomcat 6.0对JSP 2.1规范进行了支持。 3. **Juli**:这是Tomcat的内置日志系统,提供了一种更灵活的日志记录方式,...

    tomcat 6.0 64位

    总结,"Tomcat 6.0 64位"是专为64位操作系统设计的Web服务器,它提供了对Servlet 2.5和JSP 2.1的支持,以及多线程处理、连接器功能、安全管理等特性。64位版本在内存管理和性能上具有显著优势,适用于需要处理大量...

    Tomcat6.0压缩包

    10. **故障排查**:通过查看错误日志、使用JMX(Java Management Extensions)工具监控服务器状态,以及利用Tomcat提供的管理应用进行问题定位。 了解并掌握这些知识点对于有效管理和维护一个Tomcat6.0服务器至关...

    tomcat6.0数据库连接池驱动

    Tomcat 6.0数据库连接池驱动的使用,涉及到的主要知识点包括:数据库连接池的概念与作用,Tomcat内置的数据源实现(DBCP和C3P0),数据源的配置方法,JNDI的使用,以及在Java代码中获取和释放数据库连接。...

    tomcat 6.0 lib jar

    "lib"目录在Tomcat中扮演着至关重要的角色,它是存放所有支持Tomcat运行和Web应用所需库文件的地方。"jar"文件则是Java Archive的缩写,是一种归档格式,用于打包Java类、资源文件以及元数据,使得它们可以作为一个...

    tomcat 6.0 数据源的配置

    总结,配置和使用Tomcat 6.0的数据源涉及到DataSource接口、JNDI服务以及应用服务器的配置。通过这种方式,我们可以构建高效、可扩展和易于维护的Java Web应用程序,利用连接池优化资源管理,同时简化数据库访问的...

Global site tag (gtag.js) - Google Analytics