server.xml:
<Contextpath="/dao" docBase="E:\eclipsedemo\DAOProject\WebRoot"
debug="5"reloadable="true" crossContext="true">
<Resourcename="jdbc/oracle"
auth="Container"type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="scott" password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:MLDN"/>
</Context><resource-ref> <description>DBConnection</description> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
<%@ page language="java" import="java.util.*"pageEncoding="ISO-8859-1"%>
<%@ pageimport="java.sql.*,javax.sql.*,javax.naming.*"%>
<html>
<head>
<title>MyJSP ‘MyJsp.jsp‘ startingpage</title>
</head>
<body>
<%
Context ctx = newInitialContext() ;
DataSource ds =(DataSource)ctx.lookup("jdbc/oracle") ;
Connection conn =ds.getConnection() ;
%>
<%=conn%>
<%
conn.close() ;
%>
</body>
</html>
<%
Context ctx = newInitialContext() ;
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/oracle") ;
Connection conn =ds.getConnection() ;
%>
<%=conn%>
<%
conn.close() ;
%>package org.lxh.oracle.dbc;
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 DataBaseConnection {
private static final String JNDINAME ="java:comp/env/jdbc/oracle";
private Connection conn = null;
public DataBaseConnection() {
try {
Context ctx =new InitialContext();
DataSource ds= (DataSource) ctx.lookup(JNDINAME);
conn =ds.getConnection();
} catch (NamingException e){
e.printStackTrace();
} catch (SQLException e){
e.printStackTrace();
}
}
public Connection getConnection() {
return this.conn;
}
public void close() {
if (this.conn != null) {
//如果不为空,则表示数据库已经打开了
try {
this.conn.close();
} catch(SQLException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}原文:http://blog.csdn.net/cuiwjava/article/details/20202859