Servlet使用连接池示例

原创 2007年10月09日 23:38:00

连接池开发介绍:

http://www.3800hk.com/Article/sjk/Oracle/oracleyy/2005-08-06/Article_41976_3.html

Servlet使用连接池示例

Servlet API所定义的Servlet生命周期类如:

1) 创建并初始化Servlet(init()方法)。
2) 响应客户程序的服务请求(service()方法)。
3) Servlet终止运行,释放所有资源(destroy()方法)。

本例演示连接池应用,上述关键步骤中的相关操作为:

1) 在init(),用实例变量connMgr 保存调用DBConnectionManager.getInstance()所返回的引用。
2) 在service(),调用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("不能获取数据库连接."); 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("< H1>职工数据< /H1>");
  while (rs.next())
  {
   out.println("< BR>");
   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连接池

tomcat的配置: 1.如何修改tomcat的端口 netstat -an    ----->监控端口号 修改%TOMCAT_HOME%/conf/server.xml文件中port=8080将80...
  • u011225629
  • u011225629
  • 2015年08月18日 18:52
  • 1246

servlet JDBC mysql数据库连接池

具体操作过程: 1、配置全局数据库连接池 在\conf\server.xml文件中找到标签,添加下列配置: ...
  • liminlimin_limin
  • liminlimin_limin
  • 2014年11月26日 21:43
  • 3312

java使用dbcp2数据库连接池

使用简单的java代码利用dbcp来实现连接池的功能
  • wj903829182
  • wj903829182
  • 2016年10月20日 15:16
  • 3693

servlet连接池的初步使用

老师说过连接池只能在servlet中使用,不能写一个main()方法来实现,因为JNDI是tomcat内置的,使用连接池需要配置context.xml文件context.xml ...
  • sinstar1
  • sinstar1
  • 2016年03月22日 23:04
  • 256

web开发必须知道--servlet、连接池、线程池的概念原理和使用

servlet定义 全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的S...
  • lu93it
  • lu93it
  • 2016年09月25日 23:40
  • 2651

淘宝druid数据库连接池使用示例

参考: 淘宝连接池Druid  http://www.zhurouyoudu.com/index.php/archives/635/ http://code.alibabatech.com/wiki/...
  • tower888
  • tower888
  • 2013年05月22日 16:18
  • 35495

HttpClient4.5 使用http连接池发送http请求深度示例

HttpClient 3.x,4.x都提供http连接池管理器,当使用了请求连接池管理器(比如PoolingHttpClientConnectionManager)后,HttpClient就可以同时执...
  • gaolu
  • gaolu
  • 2015年10月21日 14:43
  • 2808

淘宝druid数据库连接池使用示例

参考: 淘宝连接池Druid  http://www.zhurouyoudu.com/index.PHP/archives/635/ http://code.alibabatech.com...
  • u011955252
  • u011955252
  • 2016年08月04日 17:47
  • 525

JAVA工程使用C3P0连接池配置+单例引用示例

大部分c3p0连接池都是在web工程中配置使用 以下是自己实现的c3p0在Java工程中应用的简单示例   1. 导入jar包   2. src下创建配置文件c3p0-config.xml ...
  • u013628908
  • u013628908
  • 2014年02月12日 11:51
  • 2581

淘宝druid数据库连接池使用示例

参考: 淘宝连接池Druid  http://www.zhurouyoudu.com/index.php/archives/635/ http://code.alibabatech.com...
  • hmy1106
  • hmy1106
  • 2016年05月23日 08:40
  • 2390
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Servlet使用连接池示例
举报原因:
原因补充:

(最多只允许输入30个字)