`
seawavenews
  • 浏览: 230071 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jndi数据库连接方法

阅读更多
软件:jdk1.5  tomcat5.0.16  mysql5.0

 

  准备工作:

1 首先安装软件并配置jdktomcat的环境变量,tomcat的安装路径为C:\Tomcat5

2 mysql中建立名称为mytest数据库

3 C:\Tomcat5\common\lib目录下添加mysql数据驱动

mysql-connector-java-3.1.8-bin.jar  如果要连接别的数据库在这里添加其他的

数据库驱动

 开始配置:

1 C:\Tomcat5\conf\Catalina\localhost目录下建立名称为jspdev.xml的文件

  代码内容如下

  

        <Context path="/jspdev" docBase="D:\work_space\mytest\jspdev" debug="0" reloadable="true" crossContext="true">  

   <Resource name="jdbc/jspdev" auth="Container" type="javax.sql.DataSource"/>  

     <ResourceParams name="jdbc/jspdev">

                <parameter>         

                       <name>factory</name>          

                       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>        

                </parameter>

                                      

                  <parameter>         

                  <name>driverClassName</name>            

                  <value>com.mysql.jdbc.Driver</value>           

                </parameter>

                                      

                  <parameter>  

                       <name>url</name>        

                  <value>jdbc:mysql://localhost/mytest?useUnicode=true&amp;characterEncoding=GB2312</value>

                  </parameter>

                             

                <parameter>

                       <name>username</name>             

                      <value>root</value>

               </parameter>

                             

               <parameter>                   

                       <name>password</name>                        

                          <value></value>      

               </parameter>

                             

               <parameter>

                          <name>maxActive</name>

                           <value>20</value>

               </parameter>

                  

                <parameter>         

                       <name>maxIdle</name>

                           <value>10</value>

                   </parameter>

                  

                  <parameter>  

                 <name>maxWait</name>

                          <value>-1</value>

               </parameter>        

         </ResourceParams> 

      </Context>

 此段代码为设置web应用程序的jndi数据源属性以及其虚拟目录。我的程序所放目录为D:\work_space\mytest\jspdev,虚拟目录的名称为jspdev

  2  
D:\work_space\mytest\basetag目录下建立测试数据源连接的文件名称为test.jsp,代码如下

<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head><title>DataSourse Connection Test</title></head>
<body>
<%
 try{
  java.sql.Connection con;
  Statement stmt;
  ResultSet rs;
  
  Context ctx = new InitialContext();
  DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/jspdev");
  con=ds.getConnection();
  
  stmt=con.createStatement();
  rs=stmt.executeQuery("select * from  table1");
while(rs.next()){
  out.print(rs.getInt(1);

 

out.print(rs.getString(2));
}
  rs.close();
  stmt.close();
  con.close();
  
 }catch(Exception e){
  out.print(e.getMessage());
 }
  
%>
</body>
</html>

最后运行tomcat,在地址栏中输入http://localhost:8080/jspdev/test.jsp就可以看到运行结果了

注意:以下为连接其他数据库的连接改动字符串。

一,连接到sqlserver数据库

首先添加数据库连接驱动msbase.jarmssqlserver.jarmsutil.jar放入tomcatC:\Tomcat5\common\lib目录下。

更改C:\Tomcat5\conf\Catalina\localhost目录下jspdev.xml文件中                 

 <parameter>         

                  <name>driverClassName</name>            

                  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>             

       </parameter>

                                      

                  <parameter>  

                       <name>url</name>                                <value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=mytest</value>

            </parameter>

这些部分的内容,并修改数据库连接的用户名和密码。

二,连接到orcale数据库

与连接sqlserver数据库相同,更改jspdev.xml文件中的数据库驱动和连接字符串为

oracle.jdbc.driver.OracleDriver

dbc:oracle:thin:@127.0.0.1:1521:databasename

并在C:\Tomcat5\common\lib目录下添加数据库驱动文件ojdbc14.jar

三,jsp页面中我们也可以通过javabean来调用数据库连接,代码如下

       

DataBaseConnection.java

     

        package com;

import java.sql.*;

import javax.naming.InitialContext;

import javax.naming.Context;

import javax.sql.DataSource;

//连接数据库的工具类。

public class DataBaseConnection

{

   /**

    *一个静态方法,返回一个数据库的连接。

    *这样达到了对数据库连接统一控制的目的。

    */

   public static Connection getConnection()

   {

      Connection con=null;

       try

       {

          Context ctx = new InitialContext();

          DataSourceds=(DataSource)ctx.lookup("java:comp/env/jdbc/jspdev");

            con=ds.getConnection();

          if (ds!=null)

          {

             con=ds.getConnection();

          }

      }

      catch(Exception e)

      {

                     e.printStackTrace();

        }

        return con;

    }

}

 

 
JNDI全称 Java Naming and Directory Interface
JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。
JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。
JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。JNDI使用通用的方式来暴露命名空间,即使用分层上下文以及使用相同命名语法的子上下文。
jndi的用途:
1。你可以用jndi来得到object类的属性
如:Attribute attr =directory.getAttributes(personName).get("email");
String email = (String)attr.get();
2。你可以用jndi来搜索对象
如:foxes = directory.search("o=Wiz,c=US", "sn=Fox", controls);
查找谁的名字叫Fox在wiz部门的员工?
3。你可以用jndi通过naming/directory服务查询像printers和databases的对象
如:查询 Printer
Printer printer = (Printer)namespace.lookup(printerName);
printer.print(document);
4。你可以用jndi列表出命名空间的特殊级别的内容
如:
NamingEnumeration list = namespace.list("o=Widget, c=US");
while (list.hasMore()) {
NameClassPair entry = (NameClassPair)list.next();
display(entry.getName(), entry.getClassName());
}
分享到:
评论

相关推荐

    JNDI数据库连接池

    在大型的、高并发的Web应用中,JNDI数据库连接池能显著提高性能,减少资源消耗,提高系统稳定性。 在Tomcat 6.0这个流行的Java Servlet容器中,JNDI被用来配置和管理应用的数据库连接池。Tomcat支持多种数据库连接...

    jndi 数据库连接池 & 监听

    本资源包含对JNDI数据库连接池的详细讲解,以及监听器的代码实例和讲解资料,旨在帮助开发者更好地理解和应用这些技术。JNDI主要通过以下步骤实现数据库连接的管理: 1. **配置JNDI数据源**:在应用服务器(如...

    javaJNDI连接数据库

    通过上述步骤,我们可以在Java应用中利用JNDI实现数据库连接的动态配置,这样不仅提高了代码的可维护性和扩展性,也使得系统更加灵活。此外,这种方式还能够有效地管理数据库连接池,减少资源占用,提高系统的整体...

    jndi连接数据库配置方法

    在Java应用服务器中,JNDI通常被用来查找和绑定数据源(DataSource),这些数据源可以是预配置好的数据库连接池,使得多个应用能够共享同一个数据库连接,提高系统性能和资源利用率。 1. **配置数据源**: 在Java...

    用JNDI建立数据库连接池实例

    这段代码首先创建了一个`InitialContext`对象,然后通过`lookup`方法找到JNDI名称为“java:comp/env/jdbc/myDataSource”的数据源,最后获取数据库连接。 总结来说,通过JNDI在Tomcat中设置数据库连接池,可以实现...

    DBCP、C3P0、JNDI数据库连接对比.txt

    技术分享:DBCP、C3P0、JNDI数据库连接对比

    Java 数据库连接泄漏 解决方法

    ### Java 数据库连接泄漏及其解决方法 #### 一、引言 在软件开发过程中,特别是在使用Java进行Web应用开发时,数据库连接管理是一项至关重要的任务。不当的连接管理会导致资源浪费,甚至引发系统性能问题。其中,...

    JNDI的数据库连接池 pdf

    ### JNDI数据库连接池详解 #### 一、引言 在现代的Web应用程序开发中,数据库连接的高效管理对于提升应用性能至关重要。数据库连接作为一种关键且有限的资源,在多用户环境中尤其显得宝贵。不当的连接管理不仅可能...

    jndi数据库查询例子

    JNDI数据库查询是Java企业级应用中的常见实践,通过JNDI,我们可以方便地管理和查找数据源,简化了数据库连接的创建过程,同时提供了更好的可配置性和可扩展性。在MyEclipse这样的IDE中,配置JNDI数据源十分便捷,...

    JNDI 三种连接数据库方法

    **正文** ...理解并熟练掌握这些方法,能够帮助开发者更好地管理和维护Java应用中的数据库连接,提高代码的可移植性和可维护性。希望提供的资源文件`JndiDemo`能帮助你进一步理解和实践这些概念。

    常用的3种数据库连接方法

    本文将主要介绍三种常用的数据库连接方法:JDBC、JNDI和数据源(DataSource)。 一、JDBC连接方法 JDBC(Java Database Connectivity)是Java语言中用来连接数据库的一种标准化接口。JDBC连接方法是最基本的数据库...

    用jndi操作数据库小实例

    4. **获取数据库连接**:通过数据源对象的getConnection()方法获取数据库连接。这个过程通常会从连接池中获取一个已存在的连接,而不是每次都创建新的。 5. **执行SQL语句**:有了数据库连接后,就可以执行SQL查询...

    JNDI连接数据库配置

    ### JNDI连接数据库配置详解 #### 一、引言 在Java开发中,JNDI(Java Naming...这种方法不仅简化了数据库连接的创建过程,还提高了代码的可维护性和扩展性。希望本文能够帮助你在实际开发中更加高效地使用JNDI技术。

    DBCP 数据库连接池JNDI连接 学习笔记

    这篇“DBCP 数据库连接池JNDI连接 学习笔记”主要探讨了如何结合JNDI(Java Naming and Directory Interface)来使用DBCP进行数据库连接管理。JNDI提供了一种标准的方式来查找和绑定资源,如数据源,在企业级应用中...

    基于JNDI的数据库连接池技术及应用

    在分析数据库连接池工作原理的基础上,给出了Tomcat服务器数据库连接池的配置实例,以及在JSP页面中使用此连接池进行数据库访问的Java代码。在大型Web站点的开发中,使用数据库连接池技术是必要的,也是可取的。

    tomcat6.0JNDI连接数据库.

    JNDI允许开发者以统一的方式来查找和访问各种资源,包括数据库连接。下面将详细介绍如何在Tomcat 6.0中配置JNDI来连接数据库。 首先,我们需要在Tomcat的服务器配置文件中设置数据源。打开`$CATALINA_HOME/conf/...

    03-数据库连接池驱动_数据库连接池;驱动_

    数据库连接池是现代应用程序开发中的重要组成部分,尤其是在处理大量数据交互的应用中,它极大地提高了数据库操作的效率和系统的稳定性。本资源"03-数据库连接池驱动"包含了三种常用的数据库连接池驱动:C3P0、Druid...

    Tomcat通过JNDI方式连接SqlServer数据库

    使用Tomcat通过JNDI方式连接SqlServer数据库 在本文中,我们将介绍如何使用Tomcat通过JNDI方式连接SqlServer数据库。JNDI(Java Naming and Directory Interface...同时,使用JNDI也可以简化数据库连接的配置和管理。

    c3p0连接数据库及jndi链接例子

    在Java应用程序中,尤其是在企业级应用中,数据库连接池是不可或缺的一部分,因为它可以有效地管理和复用数据库连接,从而提高系统性能并减少资源消耗。下面我们将深入探讨C3P0的使用方法以及如何实现JNDI连接。 ...

Global site tag (gtag.js) - Google Analytics