tomcat + oracle 10g 配置
时间:2010-09-07 来源:leeyq
配置的第一步:
把Oracle的驱动jar放到Tomcat的common/lib下,其实就是把oracle.jar粘贴过去。
配置的第二步:
<Resource |
的内容,其中YourPoolName是连接池的名字,YOURUSERNAME和YOURPASSWORD是登录Oracle用的用户名和密码,YOURDBSERVE是你Oracle数据库服务器的名字,可以用IP,YOURDB是你的数据库实例。
配置第四步:
到你的工程目录下找到web.xml,打开它,在Web-app标签下添加形如
<resource-ref> |
第五步:测试(如果你直接运行下面这个方法会报错:)
public class DBconn {
public static Connection conn = null;
public static Connection getConnection() {
try {
Context initContext = new InitialContext();
if (initContext == null)
throw new Exception("No Context");
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/YourPoolName");
if (ds != null) {
if (conn == null || conn.isClosed()) {
conn = ds.getConnection();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
Connection con = DBconn.getConnection();
if (con == null) {
System.out.println("连接不成功");
} else {
System.out.println("连接成功");
}
}
}
注意:如果你直接运行会报错(在你的web工程下面就可以成功,不要直接去运行,通过程序区调用):
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
连接不成功
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.jxkj.db.DBconn.getConnection(DBconn.java:19)
at com.jxkj.db.DBconn.main(DBconn.java:38)
以上内容添加之后,保存
(注意:在完全配置以后,在启动tomcat的时候会报错误,原因就在这里,在配置完这一步的时候用IE打开进行调试,因为你复制的时候很可能会出现空白行等错误)
配置第三步:
打开context.xml,在Context标签下添加形如
<ResourceLink global="jdbc/YourPoolName" name="jdbc/YourPoolName" type="javax.sql.DataSource"/> |
进入Tomcat的conf目录,用记事本打开server.xml,找到GlobalNamingResources标签,然后在其中添加形如