Tomcat的 - > CONF - >在context.xml的节点中添加配置
<?xml version =' 1.0'encoding ='utf-8'?>
<Context>
<! - 被监视资源的默认值 - >
<WatchedResource> WEB-INF / web.xml </ WatchedResource>
<! - 取消注释以禁用Tomcat重新启动时的会话持久化 - >
<! -
<Manager pathname =“”/>
- >
<! - 取消注释以启用Comet连接的绑定(
在会话过期中提供事件作为webapp生命周期) - >
<! -
<Valve className =“org.apache.catalina.valves.CometConnectionManagerValve”/>
- >
资源名称=“jdbc / source”
auth =“Container”
type =“javax.sql.DataSource”
maxActive =“100”
maxIdle =“30”
maxWait =“10000”
username =“scott”
password =“smq”
driverClassName =“oracle.jdbc.OracleDriver”
url = “jdbc:oracle:thin:@localhost:1521:XE”/>
</ Context>
网络项目- >网络-根- >在web.xml文件节点中添加配置
<?xml version =“1.0”encoding =“UTF-8”?>
<web-app version =“2.5”
的xmlns = “http://java.sun.com/xml/ns/javaee”
的xmlns:的xsi = “http://www.w3.org/2001/XMLSchema-instance”
的xsi:的schemaLocation =“http://java.sun.com/xml/ns/javaee
//java.sun.com/xml/ns/javaee/web-app_2_5.xsd“>
<welcome-file-list>
<welcome-file> index.jsp </ welcome-file>
</ welcome-file- list>
<resource-ref>
<RES-REF-名称> JDBC /源</ RES-REF-名称>
<水库型> javax.sql.DataSource中</ RES型>
<res-auth> Container </ res-auth>
</ resource-ref>
</ web-app>
web项目 - > src - > com.niit.util - > DBUtil。Java的
公共类DBUtil {
私人DBUtil(){}
// JNDI方式配置数据源
public synchronized static Connection getConnectionByJNDI(){
连接con = null;
尝试{
Context ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup(“java:comp / env / jdbc / source”);
con = ds.getConnection();
} catch(NamingException e){
的System.out.println( “连接错误!”);
// e.printStackTrace();
} catch(SQLException e){
的System.out.println( “获取连接失败!”);
// e.printStackTrace();
}
回报
}
public static void closeResource(ResultSet rs,Statement stmt,Connection con){
尝试{
if(rs!= null){
rs.close();
}
if(stmt!= null){
stmt.close();
}
if(con!= null){
con.close();
}
} catch(SQLException e){
的System.out.println( “关闭资源失败!”);
// e.printStackTrace();
}
}
}
注意事项:
1,在context.xml中的引用的资源名称必须和web.xml中保持一致;
2,web容器中要添加数据库的驱动jar,将tomecat目录中lib文件夹下的class12文件替换为ojdbc14 ;
3,java中访问数据源应在web容器开启后在jsp或servlet中进行访问,不能再主方法中直接调用。JNDI
配置数据源就是应用服务器通过WEB容器连接数据库,达到分布式的开发并集成服务器的目的,不像JDBC直接使用应用程序进行数据库连接。不开启任何WEB服务器,就无法启动JNDI。