关于连接池的关闭问题
PFOOD 2003-06-16 08:53:52 我用JSP+oracle开发应用。
通过连接池技术与数据库连接。应用服务器是oracle的oc4j。
jsp页面使用javabean。
问题如下:
用户登陆检查页面。如果我用LoginBean.close();关闭连接,
会导致其他地方的用户访问此页面时遇到"连接已关闭"错误。
userlogin.jsp的部分代码如下:
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.net.*" %>
<jsp:useBean id="LoginBean" scope="page" class="com.ljbass.user.User" />
<% String uname = request.getParameter("userName");
String passwd = request.getParameter("userPassWord");
if (LoginBean.isUser(uname,passwd)) {
session.putValue("ID",uname);
session.putValue("name",LoginBean.getUserName(uname));
String Roleid = LoginBean.getUserRoleid(uname);
session.putValue("Roleid",Roleid);
session.putValue("RoleName",LoginBean.getUserRoleName(Roleid));
session.putValue("RolePos",LoginBean.getUserRolePos(Roleid));
session.putValue("RoleDep",LoginBean.getUserRoleDep(Roleid));
if (LoginBean.userLogin(uname)) {
//LoginBean.close();
response.sendRedirect("welcome.jsp");
}%>
新建连接:
public User() {
this.myDbTrans = new DbTrans();
this.myDoText = new DoText();
this.myMD5 = new MD5();
}
关闭连接的代码如下:
public void close() throws SQLException{
if(conn != null) conn.close();
//if(rset != null) rset.close();
if(stmt != null) stmt.close();
}