你只要Lookup到DataSource,从DataSource中获得连接,并在使用之后关闭它就可以了。不需要再手工控制。
但是必须调用 conn.close() 实际上它并没有关闭与数据库的连接,只是返回空闲的连接到池中。
但是必须调用 conn.close() 实际上它并没有关闭与数据库的连接,只是返回空闲的连接到池中。
解决方案 »
- jsp与mysql连接出现乱码现象,向里面存数据取数据都是乱码
- java 生成csv文件,弹出下载对话框。。。
- 怎样实现struts的邮件接发功能?
- java判断用户从哪个页面进入的(流量统计方面)
- jsp,输入商品编号自动从数据库中调用其他商品信息到客户端(是否可以用Onblur,然后用javasript实现)
- 怎么样统计每天,每月的,每年的东西?
- Win32 OS下,怎么设置Servlets引擎对D:\Inetpub\uploads\ 目录有读写权限????
- 编辑和调试JSP最好用什么工具啊
- java poi 导出excel异常如何抛到页面上
- 部署WebSphere问题,求救啊!在线等
- web.xml里的这个错误是什么意思??谢谢!
- 用JavaBean把注册信息写入数据库出现的棘手问题!!搞了一下午不知错在何方!!各位大虾快来指点迷津~~~~~
<Context path="/Project" reloadable="true" docBase="/Project">
<Resource name="jdbc/Project" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/Project">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Project;user=sa;password=;</value>
</parameter>
</ResourceParams>
</Context>
我用的时tomcat5.0.28,我把上边的代码直接复制到server.xml中的</host>标签上一行,结果运行程序的时候找不到jsp文件;我把上边的context代码去掉后,可以找到文件,但是提示jdbc没有绑定到context。
我的jsp文件代码如下:
<%
out.print("使用连接池连接MS SQL Server 2000<br>");
out.println("<br>");
Context ctx=null;
DataSource ds=null;
Statement stmt=null;
ResultSet rs=null;
Connection con=null;
ResultSetMetaData md=null;
try{
ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/Project");
con=ds.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("select * from Test");
md=rs.getMetaData();
out.print(md.getColumnLabel(1)+" ");
out.print(md.getColumnLabel(2)+"<br>");
while(rs.next()){
out.print(rs.getInt(1)+" ");
out.print(rs.getString(2)+"<br>");
}
}catch(Exception e){
out.print(e);
}finally{
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
if(con!=null)con.close();
}
%>希望各位帮忙,谢谢!
只要你记得从连接池里取得connection后,一定要自己关掉就行。
自己写管理?不知怎么写,实现DataSource接口?已经有实现好的拿来用就行