`

配置tomcat5.5 jndi 各种配置方式 分析总结(mysql)

阅读更多
准备工作:
安装tomcat5.5(注意这点)
安装mysql
拷贝mysql驱动到tomcat_home/common/lib下
新建一个web工程
在工程中加入index.jsp
<%@page import="java.util.*,javax.naming.*,java.sql.*,javax.sql.*" %>  
 <%@page contentType="text/html;charset=BIG5"%>  
 <%      
     Context ctx = new InitialContext();        
     String strLookup = "java:comp/env/jdbc/test";   
     DataSource ds =(DataSource) ctx.lookup(strLookup);  
     Connection con = ds.getConnection();  
     if (con != null){  
         out.print("success");  
     }else{  
         out.print("failure");  
     }         
 %> 

web.xml中加入
   <resource-ref>  
        <res-ref-name>jdbc/test</res-ref-name>  
        <res-type>javax.sql.DataSource</res-type>  
        <res-auth>Container</res-auth>  
        <res-sharing-scope>Shareable</res-sharing-scope>  
    </resource-ref>  

配置tomcat
这一步的目的就是告诉tomcat如何连接数据库
可以分为两种大的类型,每种类型又有很多种配置方式
配置类型一;
(直接配置的类型,这种方式最简单)

方法一:
直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是<yourAppName>.xml
例如我的工程名叫jndi,对应的名字叫jdni.xml
内容如下:
<Context>   
 <Resource   
          name="jdbc/test"  
          type="javax.sql.DataSource"  
          password="bb"  
          driverClassName="com.mysql.jdbc.Driver"  
          maxIdle="2"  
          maxWait="50"  
          username="root"  
          url="jdbc:mysql://localhost:3306/test"  
          maxActive="4"/>   
</Context> 

方法二:
只需在tomcat_home\webapps\myapps\META-INF\context.xml中增加:
<context>   
<Resource   
          name="jdbc/test"  
          type="javax.sql.DataSource"  
          password="bb"  
          driverClassName="com.mysql.jdbc.Driver"  
          maxIdle="2"  
          maxWait="50"  
          username="root"  
          url="jdbc:mysql://localhost:3306/test"  
          maxActive="4"/>   
</context>  

说明:这种配置需要告诉tomcat resource的内容,resource应用于什么地方
第一种方法通过文件名知道了app的name
第二种方式本身就在app内部,所以name肯定知道
两种方式都要放在context中

配置类型二:
(配置全局resource,然后通过resourcelink来映射)

步骤一:配置全局resource(这一步对于所有的配置都是一样的)
打开tomcat_home/conf/server.xml加入
<Resource   
          name="jdbc/test"  
          type="javax.sql.DataSource"  
          password="bb"  
          driverClassName="com.mysql.jdbc.Driver"  
          maxIdle="2"  
          maxWait="50"  
          username="root"  
          url="jdbc:mysql://localhost:3306/test"  
          maxActive="4"/>  

步骤二:映射
(映射可以配置在多个地方,也就有多个配置方法:)

方法一:(对比类型一的配置理解)
直接在tomcat_home/conf/localhost/下建立一个xml文件,文件名是<yourAppName>.xml
例如我的工程名叫jndi,对应的名字叫jdni.xml加入如下内容
<Context>   
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>   
</Context>  

方法二:(对比类型一的配置理解)
在tomcat_home\webapps\myapps\META-INF\context.xml的Context中增加:
<context>   
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>    
</context>  

方法三:(上边两种方法都是把全局的resource 映射给jndi这个web应用,第三种方法就是把这个
全局的resource直接公开给所有的应用)
在tomcat_home/conf/context.xml的<Context></context>之间加入
<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>

运行测试:
打开ie,输入http://localhost:8080/jndi/index.jsp
看到success

常见错误:
1,Name jdbc is not bound in this Context
2,Cannot create JDBC driver of class '' for connect URL 'null' conf localhost
原因:
大多数是因为配置了全局的resource,但没有link造成的。
解决:
加入link就行了,link的方式见类型二的三种方法。

分析:
看到上边这么多方法,是否感觉眼花缭乱,其实不要死记配置,按照原理分析一下就好了。
你需要的是告诉tomcat哪个应用如何连接数据库。

类型一的方式对应一个应用单独使用这个配置的情况
就是直接告诉tomcat"应用名" "连接数据库需要的参数"

类型二的方式对应多个应用共享一个配置的情况
这样先配置server.xml告诉tomcat全局范围的"连接数据库需要的参数"
然后映射,映射的时候
1,如果不知道"app name(应用名)"就只需要通过文件名来传递这个信息
2,如果"app name"都知道就只需要加入映射的内容
3,如果要配置成全局公用的,就不需要"app name",本身放在tomcat的context.xml中

最后再次提醒一下:所有的配置必须放在<context></context>之间
分享到:
评论
1 楼 beyondcf 2008-07-07  
好东西,收藏了,楼主写的很详细。
有个问题想请教:
楼主说的
方法一:
直接在tomcat_home/conf/localhost/下建立一个xml文件。“tomcat_home/conf/localhost/”这个路径,如果默认情况下TOMCAT中的conf下没有localhost文件夹怎么办呢?自己新建一个?

相关推荐

    Tomcat5.5 的dbcp配置

    Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...

    hibernate 3.1+tomcat 5.5.x(配置jndi)

    随着Tomcat从5.0版本升级到5.5.x版本,其配置发生了诸多变化,特别是对Tomcat JNDI的配置方式产生了显著的影响。这对希望在Hibernate安装中利用Tomcat JNDI提供的DataSource配置便利性的开发者来说尤为重要。同时,...

    Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇)

    总结,配置Hibernate 3.1与Tomcat 5.5.X的JNDI主要是通过创建`Context.xml`文件,并在其中定义DataSource资源。这使得数据库连接的配置更为灵活,同时保持了与Tomcat的兼容性。然而,由于Tomcat自身不提供事务管理,...

    Tomcat5.5连接池配置

    ### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...

    tomcat5.5.X域名转向和连接池配置的server.xml文件

    在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的配置信息。本篇文章将详细解释如何在`server.xml`中配置域名转向和连接池。 ### 域名转向...

    tomcat5.5配置mysql的连接池.pdf

    ### Tomcat 5.5 配置 MySQL 数据库连接池详解 #### 一、引言 随着Web应用程序的发展,数据库连接池技术的应用越来越广泛。它能够显著提高数据库访问效率,减少资源消耗。Tomcat作为一款广泛应用的Java Web容器,...

    Tomcat5.5连接池配置案例

    通过这份"Tomcat5.5连接池配置案例",新手可以系统学习并掌握如何在Tomcat环境中配置和使用连接池,提升应用的数据库访问效率。同时,案例笔记将帮助理解每个步骤背后的原理和最佳实践,从而更好地应对实际开发中的...

    tomcat 5.5数据源配置

    通过以上配置,Tomcat 5.5已经成功设置了数据源,应用可以通过JNDI查找并使用这个数据源来建立与数据库的连接。这种方式不仅方便了数据库连接的管理,还优化了系统性能,因为连接可以在使用后被放回连接池,而不是...

    Tomcat 5.5数据库连接池配置

    Tomcat 5.5版本虽然较旧,但理解其数据库连接池的配置对于学习和维护旧系统仍然至关重要。数据库连接池是管理数据库连接的一种机制,它能有效地复用数据库连接,提高系统的性能和资源利用率。以下将详细讲解Tomcat ...

    tomcat5.5配置数据库连接池

    4. **视频分析**:提供的视频分析可能会详细展示上述配置过程,包括在Tomcat控制台中查看日志以确认数据源是否成功配置,以及通过编写简单的数据库查询示例验证连接池功能。 通过以上步骤,你就可以在Tomcat 5.5中...

    Tomcat5.5.X下配置连接池

    Tomcat 5.5.x版本虽然相对较老,但依然有很多项目在运行,因此了解如何在该版本下配置连接池是至关重要的。连接池是一种管理数据库连接的技术,它能够有效地复用数据库连接,减少创建和销毁连接的开销,提高系统性能...

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

    这个过程同样适用于Tomcat 5.5,因为它们的配置方式大体相同。请注意,不同版本的Tomcat可能有细微差别,特别是对于较新的版本,例如Tomcat 7、8或9,它们可能要求不同的配置格式或支持不同的特性。在实际操作时,...

    Eclipse里配置Ant 组织的Project(3) -- E中配置Tomcat的JNDI

    `temp0_conf__server.xml`和`Tomcat v5.5 Server at localhost-config_server.xml`看起来是Tomcat的`server.xml`配置文件的备份或副本。通常,我们应该直接修改Tomcat安装目录下的`server.xml`,但有时为了版本控制...

    外置Tomcat 5.5

    总结来说,外置Tomcat 5.5提供了更灵活的开发和部署方式,而JNDI数据源的配置则增强了应用程序的可维护性和安全性。了解和掌握这些知识点对于任何从事Java Web开发的人员都是至关重要的。通过操作视频学习,可以直观...

    tomcat5 配置jndi

    ### Tomcat 5.5 JNDI 配置详解 #### 一、概述 在Java Web应用开发过程中,经常需要连接数据库以实现数据交互。为了更好地管理这些资源,Tomcat等应用服务器提供了JNDI(Java Naming and Directory Interface)服务...

    Tomcat-5配置JNDI数据源

    总结,配置Tomcat 5.5及以上版本的JNDI数据源涉及多个步骤,包括添加JDBC驱动、配置全局数据源、在应用中引用数据源以及在代码中通过JNDI查找并使用数据源。选择全局或局部配置取决于应用的需求和资源的共享范围。...

    Tomcat 5.5 数据库连接池配置

    本文将详细介绍如何在Tomcat 5.5中配置MySQL 5.5的数据库连接池。 首先,为了使Tomcat能够与MySQL进行通信,我们需要将MySQL的JDBC驱动程序(通常是`mysql-connector-java.jar`)添加到两个位置:Tomcat安装目录下...

Global site tag (gtag.js) - Google Analytics