Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16502618
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:14:06

下载本文示例代码
  现在我们结合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();}} BR>   现在我们结合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();}} BR> 下载本文示例代码


Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)Servlet中jdbc应用高级篇(五)
阅读(86) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~