\mypool"mapperClass="org.apache.catalina.core.StandardContextMapper"path="/mypool"privileged="true"reloadable="true"swallowOutput="false"useNaming="true"wrapperClass="org.apache.catalina.core.StandardWrapper">
保存D:
\Tomcat4.1\conf\server.xml文件。
注意,设置这个连接池的引用说明是非常重要的一步。
一些朋友在Tomcat4中配置连接池失败的原因大都归咎与此。
还有网上一些文章说这是一个Tomcat4的一个Bug。
我用了整整两天两夜的时间才明白其中的奥秘。
[:
(]
当时离疯掉只查一点点。
因为毕竟配置一个连接池是很简单的。
[:
(]
6.一般情况下,到此,连接池的设置就完成了。
然后需要重新启动Tomcat,这样就可以使用连接池来工作了。
但是,看到很多文章上说,还需要设置一下web.xml才能应用。
我没有设置web.xml,连接池也可以完全使用。
现在说一下web.xml的配置方法。
在D:
\mypool中新建文件夹,命名为WEB-INF,注意是大写的字母。
然后在D:
\mypool\WEB-INF\下新建文件web.xml,其内容为:
OracleDataSourceexample
jdbc/myOrcl
javax.sql.DataSource
Container
保存D:
\mypool\WEB-INF\web.xml文件。
7.一个简单的应用示例。
写了一个简单的JSP页面,用连接池来访问数据库。
内容如下:
---------------------
<%@pagecontentType="text/html;charset=GBK"%>
<%@pageimport="javax.naming.*"%>
<%@pageimport="javax.sql.*"%>
<%@pageimport="java.sql.*"%>
<%
try
{
ContextinitCtx=newInitialContext();
if(initCtx==null)
thrownewException("没有匹配的环境");
Contextctx=(Context)initCtx.lookup("java:
comp/env");
//获取连接池对象
Objectobj=(Object)ctx.lookup("jdbc/myOrcl");
//类型转换
javax.sql.DataSourceds=(javax.sql.DataSource)obj;
if(ds==null)
thrownewException("没有匹配数据库");
Connectionconn=ds.getConnection();
Statementstmt=conn.createStatement();
StringstrSql="select*fromgrade"; //SQL,要保证grade数据表里面有记录。
ResultSetrs=stmt.executeQuery(strSql);
if(rs.next())
{
out.println(rs.getString
(1));
out.println(rs.getString
(2));
}
rs.close(); //关闭ResultSet
stmt.close(); //关闭Statement
conn.close(); //将连接放回到连接池
}
catch(Exceptionex)
{
ex.printStackTrace();
thrownewSQLException("cannotgetConnectionpool."+ex);
}
%>