JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--JAVA技术--Servlet  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Servlet中jdbc应用高级篇之六
作者:     文章来源:
访问次数:86次     加入时间:2006年11月04日
  现在我们结合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(); 



JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号