爱心技术专栏专题

Servlet中jdbc应用高级篇之六

摘录:java 来源:java 加入时间:2007年03月25日
摘要:
Servlet中jdbc应用高级篇之六

  现在我们结合DBConnetionManager和DBConnectionPool类来讲解servlet中连接池的使用: 

  一、首先简单介绍一下Servlet的生命周期: 

  Servlet API定义的servlet生命周期如下: 

1、 Servlet 被创建然后初始化…

转载:转载请保留本信息,本文来自
http://www.51dibs.com
/html/2006/article/info11/a_4ca1a742b7ac8077.htm

Servlet中jdbc应用高级篇之六

站点:爱心种子小博士 关键字:Servlet中jdbc应用高级篇之六

   
Servlet中jdbc应用高级篇之六
  现在我们结合DBConnetionManager和DBConnectionPool类来讲解servlet中连接池的使用: 

  一、首先简单介绍一下Servlet的生命周期: 

  Servlet API定义的servlet生命周期如下: 

1、 Servlet 被创建然后初始化(init()方法)。 

2、 为0个或多个客户调用提供服务(service()方法)。 

3、 Servlet被销毁,内存被回收(destroy()方法)。 

  二、servlet中使用连接池的实例 

  使用连接池的servlet有三个阶段的典型表现是: 

1. 在init()中,调用DBConnectionManager.getInstance()然后将返回的引用保存在实例变量中。 


2. 在sevice()中,调用getConnection(),执行一系列数据库操作,然后调用freeConnection()归还连接。 

3. 在destroy()中,调用release()来释放所有的资源,并关闭所有的连接。 

  下面的例子演示如何使用连接池。 

import java.io.*; 

import java.sql.*; 

import javax.servlet.*; 

import javax.servlet.http.*; 

public class TestServlet extends HttpServlet { 

private DBConnectionManager connMgr; 



public void init(ServletConfig conf) throws ServletException { 

super.init(conf); 

connMgr = DBConnectionManager.getInstance(); 




public void service(HttpServletRequest req, HttpServletResponse res) 

throws IOException { 

res.setContentType("text/html"); 

PrintWriter out = res.getWriter(); 

Connection con = connMgr.getConnection("idb"); 

if (con == null) { 

out.println("Cant get connection"); 

return; 



ResultSet rs = null; 

ResultSetMetaData md = null; 

Statement stmt = null; 

try { 

stmt = con.createStatement(); 

rs = stmt.executeQuery("SELECT * FROM EMPLOYEE"); 

md = rs.getMetaData(); 

out.println(" 
Employee data 
"); 

while (rs.next()) { 

out.println(" 
"); 

for (int i = 1; i < md.getColumnCount(); i++) { 

out.print(rs.getString(i) + ", "); 





stmt.close(); 

rs.close(); 



catch (SQLException e) { 

e.printStackTrace(out); 



connMgr.freeConnection("idb", con); 



public void destroy() { 

connMgr.release(); 

super.destroy(); 






客户服务中心信箱:info@51dibs.com 51dibs@gmail.com 网站地图

粤ICP备05020177号 声明

合作伙伴:深圳赫柏文化发展有限公司 健康百宝箱 东北人创业家园