Servlet中jdbc应用高级篇(结合DBConnetionManager和DBConnectionPool)
来源:互联网 发布:淘宝女士披肩 编辑:程序博客网 时间:2024/05/20 03:39
现在我们结合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();
}
}
一、首先简单介绍一下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();
}
}
- Servlet中jdbc应用高级篇(结合DBConnetionManager和DBConnectionPool)
- Servlet中jdbc应用高级篇(得到和返回连接 )
- Servlet中jdbc应用高级篇
- Servlet中jdbc应用高级篇
- Jsp servlet 和jdbc结合应用
- Servlet中jdbc应用高级篇(连接池基本)
- Servlet中jdbc应用高级篇(概述)
- Servlet中jdbc应用高级篇--链接池详解
- Servlet中jdbc应用高级篇之二
- Servlet中jdbc应用高级篇之三
- Servlet中jdbc应用高级篇之四
- Servlet中jdbc应用高级篇之六
- Servlet开发中JDBC的高级应用
- Servlet开发中JDBC的高级应用
- Servlet开发中JDBC的高级应用
- Servlet中jdbc应用高级(创建connection)
- Servlet中jdbc应用高级篇(转载连接池的管理)
- Jdbc入门介绍第二章——Jdbc结合JSP和Servlet的简单综合应用
- 什么是CPI?
- 人的重要性
- Servlet中jdbc应用高级篇(连接池基本)
- 一些struts的网页
- 呵呵,能传图片的地方:)
- Servlet中jdbc应用高级篇(结合DBConnetionManager和DBConnectionPool)
- Servlet中jdbc应用高级篇(得到和返回连接 )
- Servlet中jdbc应用高级篇(概述)
- Oracle PL/SQL 编程手册(SQL大全)(转)
- XML与数据库
- 借书20041102_《设计模式:可复用的面向对象软件的基础》《微软项目:求生法则》
- 哪为前辈指点一下~~我写的抽奖循环不知道该如何跳出
- SQL查询语句精华使用简要
- [转贴]如何用正确的方法来写出质量好的软件的75条体会