关于TOMCAT自带的连接池

shanyuliang 2005-10-30 10:26:59
各位,连接池的作用是减少频繁建立数据库连接的开销,但是在如下的JSP代码里,最后还是close了连接,这样连接池还有什么好处?
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<body>
<%
InitialContext ctx = new InitialContext();
javax.sql.DataSource connectionPool = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/ccdi");
Connection conn = connectionPool.getConnection();
Statement stmt=conn.createStatement();
String sql="select * from COURSE_CATALOG";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%><%=rs.getInt(1)%><br><%=rs.getString(2)%><hr><%
}
rs.close();
stmt.close();
out.print("DB connection pool run OK!");
conn.close();
%>
</body>
</html>
...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangbo520 2006-01-01
  • 打赏
  • 举报
回复
你的关闭操作只是将连接返回给连接池,并没有真正关闭
climb011358 2005-12-24
  • 打赏
  • 举报
回复
一个连接有多个连接,你关闭的只是自己建立的连接啊
jllb2004 2005-12-23
  • 打赏
  • 举报
回复
程序最后用close关闭的是本次你创建的这个连接(该连接只是连接池中众多连接中的一个),而且这个close并不是真正关闭了,而是将这个连接释放回连接池.
lei_zeng 2005-11-30
  • 打赏
  • 举报
回复
假设连接池最大连接为10,如果连接不关闭的话,当用户量大的时候,很可能在连接池释放连接之前就达到了最大连接数,这样,程序会报错。
此地关闭连接就是代表将连接交还给连接池,可以分配给其它程序使用了,但连接并没有真的释放,存在连接池中。
希望我的理解对你有帮助。
SwordMan2001 2005-11-17
  • 打赏
  • 举报
回复
UP & MARK
shanyuliang 2005-11-11
  • 打赏
  • 举报
回复
请各位高人关注啊!
shanyuliang 2005-11-03
  • 打赏
  • 举报
回复
请各位高人关注啊!

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧