WEB环境:tomcat6
在tomcat6下的conf/下找到server.xml 文件
修改如下:
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Resource name="jdbc/ora9204"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="100"
driverClassName="oracle.jdbc.driver.OracleDriver"
username="clevergirl"
password="clevergirl"
url="jdbc:oracle:thin:@192.168.128.129:1521:ora9204"
defaultAutoCommit="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
</GlobalNamingResources>
注意几个红色字的配置
在项目目录下找到\src\WEB-Root\META-INF目录,修改或新增context.xml 内容如下
<?xml version="1.0" encoding="utf-8"?>
<Context path="/sync" privileged="true" antiResourceLocking="false" antiJARLocking="false" reloadable="true">
<ResourceLink name="jdbc/mysync" global="jdbc/ora9204" type="javax.sql.DataSource" />
</Context>
这个会在项目发布时自动发布到tomcat的配置目录下
默认发布位置是:tomcat\conf\Catalina\localhost\
ResourceLink的作用相当于你给数据库链接定义了一个别名,程序里应该引用这个别名
程序调用如下:
package sync.com.db;
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
/**
* 获取数据库连接
*/
public class DBConnection {
public Connection conn = null;
static DataSource ds = null;
static {
try {
Context ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysync"); //数据库别名
} catch (NamingException e) {
e.printStackTrace();
}
}
protected Connection getConnection(){
if(conn == null)
{
try {
conn = ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
/**
* 关闭数据库连接
*
* @param connect
*/
public void closeConnection(){
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
}
感谢朋友的帮助,方法不是偶想的,只是偶写的