jndi的局部配备与测试
jndi的局部配置与测试
jndi有全局配置和局部配置。关于jndi的全局配置即是在web服务器下进行配置,例如:在tomcat的conf文件夹下的context.xml配置文件中加入相关的配置或在weblogic的管理控制台中配置相应的jndi数据源(本机安装了weblogic的话访问http://127.0.0.1:7001/console进入管理控制台配置相应的jndi数据源)。
下面重点说说在项目中jndi的局部配置与测试。
1、 在项目的META-INF下面新建context.xml。
加入配置信息,例如:
<?xml version='1.0' encoding='utf-8'?> <Context> <!-- Default set of monitored resources --> <Resource name="jdbc/birtReport" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="20" maxWait="2000" driverClassName="oracle.jdbc.OracleDriver" username="xxx" password="xxx" url="jdbc:oracle:thin:@ip:1521:instance name" /> </Context>
2、写测试类 ,例如:JNDITest.java
/** * JNDI配置测试 */ public class JNDITest { public void testJNDI() throws NamingException, SQLException { Context ctx = new InitialContext(); //web服务器是tomcat时:ctx.lookup("java:comp/env/jdbc/birtReport"); //web服务器是weblogic时:ctx.lookup("jdbc/birtReport"); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/birtReport"); Connection conn = ds.getConnection(); System.out.println(conn.isClosed()); } }
3、 写测试的jsp,例如:jndiTest.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page import="com.apply.test.JNDITest"%> <% // 调用JNDITest类的testJNDI方法进行测试 JNDITest test = new JNDITest(); test.testJNDI(); out.println("connection pool connected !!"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jndi配置测试</title> </head> <body> </body> </html>
4、 访问该页面,测试jndi数据源是否能够正常访问:
见到页面输出"connection pool connected !! "表示数据源配置正确,并且能正确访问。