JSP中数据库连接池的问题?
要做一个JSP项目,发现用连接池技术可以提高访问数据库的效率,有没有做过连接池的大侠,给几点提示,可否提供点代码? 问题点数:50、回复次数:11Top
1 楼ExplorerCSharp( 小文)回复于 2003-12-01 08:22:14 得分 5
去找poolmen,最好的连接池了!开源的!Top
2 楼ExplorerCSharp( 小文)回复于 2003-12-01 08:22:48 得分 0
应该是polmanTop
3 楼zwxu(zwxu)回复于 2003-12-01 09:21:23 得分 10
tomcat和weblogic都自带连接池,建议还是用应用服务器自带的比较好Top
4 楼fantasyCoder(Attitude is everything)回复于 2003-12-01 10:30:15 得分 0
同意楼上的!!!Top
5 楼Leemaasn(小鸟)回复于 2003-12-01 10:40:15 得分 5
最好用自己写的,可以尝试调用服务器提供的连接池,
Top
6 楼ladofwind(随风)回复于 2003-12-01 10:52:47 得分 0
upTop
7 楼grantbb(小兵)回复于 2003-12-01 13:42:31 得分 30
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import= "java.sql.* "%>
<%@ page import= "javax.naming.* "%>
<%
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
//获取连接池对象
Object obj = (Object) ctx.lookup("jdbc/SqlServerDB");
//类型转换
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = " insert into test(id,name) values('00001','fany')";
stmt.executeUpdate(strSql);
strSql = " select id,name from test ";
ResultSet rs = stmt.executeQuery(strSql);
if(rs.next()){
out.println(rs.getString(1));
out.println(rs.getString(2));
}
}catch(Exception ex){
ex.printStackTrace();
throw new SQLException("cannot get Connection pool.");
}
%>
方法2:写一个数据库连接的类
类内容如下:
static String jndiName="jdbc/SqlServerDB";
/**
* 从连接池中取得一个空闲的数据库连接
* @return Connection
* @exception Exception
*/
public static Connection getConnection() throws Exception{
Connection conn = null;
try {
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
//获取连接池对象
Object obj = (Object) ctx.lookup(jndiName);
//类型转换
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
//获得数据库连接
conn= ds.getConnection();
} catch (java.lang.SecurityException se) {
throw se;
} catch(Exception e) {
e.printStackTrace();
throw e;
}
return conn;
Top
8 楼mysam(小天下人)回复于 2003-12-02 09:18:18 得分 0
还有没???Top
9 楼yupingping(平平)回复于 2003-12-02 09:34:48 得分 0
upTop
10 楼lekuaile(开开心心)回复于 2003-12-03 09:41:56 得分 0
那么如何控制连接超时,比如最大的连接时间是60秒?Top
11 楼helloqiner(小勤)回复于 2003-12-03 11:02:55 得分 0
还有就是要如何做可以让几个jsp页面同时使用一个数据库连接池的实例?Top




