在conf/server.xml中的<host> </host>中間加上
<Context path="" docBase="ROOT" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/newoa" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="user" password="pass" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.10:1521:orcl"/>
</Context>
如不在ROOT下面使用,則應該如下配置:
<Context path="/Struts2" docBase="Struts2" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/struts" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="user" password="pass" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.1.10:1521:orcl"/>
</Context>
紅字部分根據自己服務器情況進行更改
在ROOT/web.xml文件中加上
<resource-ref>
<description>sqlserver Datasource example</description>
<res-ref-name>JNDI/newoa</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
測試連接池的程序:
<%@page contentType="text/html; charset=gb2312" import="java.sql.*"%>
<%@page import="javax.naming.Context" %>
<%@page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>
<%
DataSource ds=null;
Connection cn=null;
try{
Context initCtx = new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:comp/env");
ds=(DataSource)envCtx.lookup("jdbc/newoa");
if(ds!=null)
{
cn=ds.getConnection();
if(cn!=null)
{
Statement stmt = cn.createStatement();
ResultSet rst = stmt.executeQuery("select * from depart");
while(rst.next())
{
out.println(rst.getInt(1));
}
}
cn.close();
}
}catch(Exception e)
{
out.println(e);
}
%>
注意在不同的tomcat版本下配置連接池會有差異。