JNDI连接数据库

优点

实现了Java程序和配置文件的分离。将JDBC驱动程序的引用、服务器名称、用户名、密码这些信息交给J2EE容器配置和管理,程序员只需要对这些配置和管理进行引用即可。

实现步骤

1、在J2EE容器中配置JNDI参数;

2、程序中引用。

JBOSS下实现JNDI:

1、在JBOSS服务目录server/default/deploy下新建数据库配置文件xx.xml,配置文件内容如下:



	
	MZ_ORCL_Fujian
    oracle.jdbc.driver.OracleDriver
	jdbc:oracle:thin:@192.168.60.61:1521:TEST
	username
	password
	5 
	30 
    org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
	
         Oracle9i
	
	

2、在Java程序中引用

  
    <%
	    InitialContext ctx = new InitialContext();
		DataSource dataSource = (DataSource) ctx.lookup("java:/MZ_ORCL_Fujian");
		Connection conn = dataSource.getConnection();
    %>
    <%=conn %>
    <%
    	conn.close();
    %>
  

因为由JBOSS服务管理数据库配置,所以具体测试要启动JBOSS服务,代码不可以脱离JBOSS服务单独测试。可以在JSP或者Servlet中书写测试。上面的代码书写在WEB服务的默认访问页面index.jsp中的。方便测试。

3、访问项目

JNDI连接数据库_第1张图片

JBOSS上部署项目,启动JBOSS服务,访问项目,执行结果如上。

TOMCAT下实现JNDI:

1、修改TOMCAT目录下配置文件conf/context.xml,如下:



    
    WEB-INF/web.xml
	
	
	
	
    
    

    
    

2、修改web.xml配置文件,添加如下配置:

  
     DB Connection
     jdbc/test
     javax.sql.DataSource
     Container
    

其中,res-ref-name和context.xml配置文件中Resource元素的name属性值相同。
3、修改inex.jsp

  
    <%
	    InitialContext ctx = new InitialContext();
		DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
		Connection conn = dataSource.getConnection();
    %>
    <%=conn %>
    <%
    	conn.close();
    %>
  

4、测试
JNDI连接数据库_第2张图片

在TOMCAT安装目录lib文件夹下面添加oracle的驱动,重新发布启动服务,测试通过。测试结果如下:

JNDI连接数据库_第3张图片

你可能感兴趣的:(JDBC)