- 浏览: 2928552 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (2529)
- finance (1459)
- technology (218)
- life (343)
- play (150)
- technology-component (0)
- idea (6)
- house (74)
- health (75)
- work (32)
- joke (23)
- blog (1)
- amazing (13)
- important (22)
- study (13)
- Alternative (0)
- funny (8)
- stock_technology (12)
- business (16)
- car (21)
- decorate (4)
- basketball (2)
- English (16)
- banker (1)
- TheBest (1)
- sample (2)
- love (13)
- management (4)
最新评论
-
zhongmin2012:
BSM确实需要实践,标准ITIL服务流程支持,要做好,需要花费 ...
BSM实施之前做什么 -
shw340518:
提示楼主,有时间逻辑bug:是你妈二十那年写的 那会儿连你爹都 ...
80后辣妈给未来儿子的信~我的儿,你也给我记住了~~~ -
guoapeng:
有相关的文档吗?
it项目管理表格(包含146个DOC文档模板) -
solomon:
看到的都是 这种 CTRL+C 和 CTRL+V 的文章, ...
Designing a website with InfoGlue components -
wendal:
恩, 不错. 有参考价值
Designing a website with InfoGlue components
在JSP里有两种实现的办法,一种是用JNDI(Java Naming Directory Interface),这可能和应用服务器有关,如果是Resin,先在resin.conf里定义
java 代码
- <resource-ref>
- <res-ref-name>jdbc/oracle</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <init-param driver-name="oracle.jdbc.driver.OracleDriver"/>
- <init-param url="jdbc:oracle:thin:@192.168.1.1:1521:oracle"/>
- <init-param user="system"/>
- <init-param password="manager"/>
- <init-param max-connections="20"/>
- <init-param max-idle-time="30"/>
- </resource-ref>
- 如果为Tomcat,在Server.xml里面定义,有关的资料可以查文档,然后在jsp里这样用
- try{
- javax.naming.Context env = (Context)new InitialContext().lookup("java:comp/env");
- javax.sql.DataSource pool=(javax.sql.DataSource) env.lookup("jdbc/oracle");
- }catch(Exception e){System.err.println("Exception error:"+e.getMessage());}
- try {
- Connection conn = pool.getConnection();
- }catch(Exception e){System.out.println("Exception error:"+e.getMessage());}
- 通过这段代码,你就获得从连接池里获得了一个连接conn。如果想用普通的连接池,那只能用JavaBean了,先写一个ConnectionPool的java的类,然后直接从连接池中获得连接,下面是我一个连接池的JavaBean
- ConnectionPool.java如下:
- import java.io.PrintStream;
- import java.sql.Connection;
- import java.util.Vector;
- // Referenced classes of package com.ilovejsp.sql:
- // DataSource, PooledConnection
- public class ConnectionPool
- {
- private Vector pool;
- private int size;
- DataSource db;
- public ConnectionPool()
- {
- pool = null;
- size = 0;
- db = new DataSource();
- }
- public void setSize(int value)
- {
- if(value > 1)
- size = value;
- }
- public int getSize()
- {
- return size;
- }
- public synchronized void initPool()
- throws Exception
- {
- try
- {
- for(int x = 0; x < size; x++)
- {
- Connection conn = db.getConnection();
- if(conn != null)
- {
- PooledConnection pcon = new PooledConnection(conn);
- addConnection(pcon);
- }
- }
- }
- catch(Exception e)
- {
- System.err.println(e.getMessage());
- }
- }
- private void addConnection(PooledConnection pcon)
- {
- if(pool == null)
- pool = new Vector(size);
- pool.addElement(pcon);
- }
- public synchronized void releaseConnection(Connection conn)
- {
- int x = 0;
- do
- {
- if(x >= pool.size())
- break;
- PooledConnection pcon = (PooledConnection)pool.elementAt(x);
- if(pcon.getConnection() == conn)
- {
- System.err.println("Release Connection".concat(String.valueOf(String.valueOf(x))));
- pcon.setInUse(false);
- break;
- }
- x++;
- }
- while(true);
- }
- public synchronized Connection getConnection()
- throws Exception
- {
- PooledConnection pcon = null;
- for(int x = 0; x < pool.size(); x++)
- {
- pcon = (PooledConnection)pool.elementAt(x);
- if(!pcon.inUse())
- {
- pcon.setInUse(true);
- return pcon.getConnection();
- }
- }
- try
- {
- Connection conn = db.getConnection();
- pcon = new PooledConnection(conn);
- pcon.setInUse(true);
- pool.addElement(pcon);
- }
- catch(Exception e)
- {
- System.err.println("Exception error:".concat(String.valueOf(String.valueOf(e.getMessage()))));
- }
- return pcon.getConnection();
- }
- public synchronized void emptyPool()
- {
- for(int x = 0; x < pool.size(); x++)
- {
- System.err.println("Closing Jdbc Connection".concat(String.valueOf(String.valueOf(x))));
- PooledConnection pcon = (PooledConnection)pool.elementAt(x);
- if(!pcon.inUse())
- {
- pcon.close();
- continue;
- }
- try
- {
- Thread.sleep(3000L);
- pcon.close();
- }
- catch(Exception e)
- {
- System.out.println("Exception :".concat(String.valueOf(String.valueOf(e.getMessage()))));
- }
- }
- db.close();
- }
- }
- testpool.jsp内容如下:
- <%@ page language="java" contentType="text/html;charset=gb2312"%>
- <%@ page import="java.sql.*"%>
- <HTML>
- <HEAD>
- <TITLE>系统数据信息</TITLE>
- </HEAD>
- <BODY>
- <%ConnectionPool db=new ConnectionPool();
- Connection conn=db.getConnection();
- Statement stmt=conn.createStatement();
- String sql1="select * from pg_database ";
- ResultSet rs=stmt.executeQuery(sql1);
- %>
- <TABLE><TR><TD>系统数据库信息</TD></TR>
- <TR><TD>
- <%while(rs.next()) {
- %>
- <%=rs.getString(1)%>
- <%}
- rs.close();%>
- </TR></TD>
- <TABLE><TR><TD>系统字段信息</TD></TR>
- <TR><TD>
- <%String sql2="select * from pg_type";
- rs=stmt.executeQuery(sql2);
- while(rs.next()) {
- %>
- (<%=rs.getString(1)%>)
- <%}
- rs.close();
- db.close();%>
- </TR></TD>
- </BODY>
- </HTML>
发表评论
-
New Enterprise Security Solutions
2011-09-13 15:46 0<!-- [if !mso]> <styl ... -
ES Announces Enterprise Security Solutions
2011-09-13 15:40 0<!-- [if !mso]> <styl ... -
linux下如何将文件打包、压缩并分割成制定大小?
2010-09-15 18:52 3303将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1069问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 992Oracle体系结构 Oracle Server包括Oracl ... -
ocp sesson 3
2010-07-31 14:39 0show parameter undo 只有 默认情况下服务 ... -
ocp session 2
2010-07-25 17:00 0/home/oracle/raInventory/orains ... -
ocp session 1
2010-07-24 13:02 0ocp first lesson D:\oracle_cou ... -
Python的xmlrpc调试
2010-07-19 23:55 2089Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1373http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12751.增加硬件 增加的ide硬盘前缀为hd,scs ... -
OCP study material
2010-07-11 13:52 0\\192.168.1.105watch -n 1 'stat ... -
apache+python+mod_python+django 编译安装指南
2010-06-24 17:25 14601、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2257常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1450... -
shell 面试题汇集
2010-06-10 19:50 1036利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 28431.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1634要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1768...
相关推荐
在JSP和MVC应用中,我们通常使用像Apache DBCP、C3P0或HikariCP这样的连接池实现。这些库提供了初始化连接池、设置最大最小连接数、超时策略等功能。配置连接池通常涉及以下步骤: 1. 添加对应连接池的依赖到项目中...
本示例将深入讲解如何在JSP中利用连接池进行数据库连接,以"ConnectionPool.java"作为连接池类,并通过"verifylogin.jsp"和"Login1.jsp"展示实际应用。 首先,我们需要了解什么是数据库连接池。数据库连接池是一种...
在IT行业中,数据库连接池是优化应用程序性能的关键技术之一,特别是在使用Java服务器页面(JSP)进行Web开发时。...这个例子中的"数据库连接池连接语句"可能包含了具体的配置示例,你可以参考其内容进行实践。
jsp分页+连接池技术是一种在Web应用程序中实现数据库连接池和分页功能的技术。该技术通过使用连接池来管理数据库连接,提高了数据库访问的效率和安全性。同时,jsp分页技术可以实现数据的分页显示,提高了用户体验。...
在Java Web开发中,JSP(JavaServer Pages)...开发者应熟练掌握数据库连接池的原理和使用,以便在实际项目中实现更高效的数据库访问。同时,选择合适的连接池实现,如根据项目需求评估性能和稳定性,也是至关重要的。
本文将详细介绍如何在JSP应用中配置并使用连接池来连接MySQL数据库。 #### 二、连接池的基本概念 连接池是一种用于管理数据库连接的技术,它可以复用现有的连接,避免频繁创建和销毁连接所带来的资源开销。使用...
3. **获取和释放连接**:在JSP或Servlet中,可以通过编程方式从连接池中获取连接,执行完SQL操作后,必须正确关闭并归还连接,以免耗尽池中的资源。 4. **连接池监控**:为了确保系统的稳定运行,连接池通常提供...
本资源“jsp中文帮助”提供了关于JSP的中文指导,特别关注了数据库连接池的问题,这对于理解和解决实际开发中的问题非常有帮助。 数据库连接池是管理数据库连接的一种机制,它能够有效地提高系统性能和资源利用率。...
在JSP中,我们通常使用诸如Apache DBCP、C3P0、HikariCP或Tomcat JDBC Connection Pool等流行的数据库连接池实现。这些库提供了一套完整的管理和维护数据库连接的机制,包括初始化池大小、最大连接数、超时设置、...
常见的JSP连接池实现有DBCP、C3P0、HikariCP等。以下以HikariCP为例,介绍配置步骤: 1. **引入依赖**:在项目中添加HikariCP的依赖库,例如在Maven的pom.xml文件中添加对应的依赖项。 2. **配置连接池**:在配置...
【jsp连接池配置器(自动配置连接池)】是一个实用工具,旨在简化开发人员在Java Web应用程序中配置数据库连接池的过程。通常,手动配置连接池需要编写大量的XML配置文件,如`context.xml`或`web.xml`,以及相关的Java...
通过以上步骤,你便能在JSP应用中成功配置并使用Tomcat的SQL Server2000数据库连接池,实现更高效、稳定的数据库访问能力。然而,值得注意的是,SQL Server2000作为一个较旧的数据库版本,其安全性和性能可能无法...
### JSP源码JSP数据库连接池的研究与实现(源代码+论文) #### 知识点一:JSP技术概述 ...通过上述知识点的学习与实践,可以全面掌握如何在JSP项目中实现高效的数据库连接池,从而提升Web应用程序的性能和稳定性。
在JSP(JavaServer Pages)开发中,数据库连接池的配置是一项非常重要的技术,它能够显著提高应用程序的性能和响应速度。本文将详细介绍如何在JSP项目中配置MySQL数据库连接池。 #### 一、准备环境与所需文件 1. *...
在JSP中实现数据库连接池,通常涉及以下步骤: 1. 引入依赖:首先,你需要在项目中引入对应的数据库连接池库,这可能通过Maven或Gradle等构建工具完成。例如,如果你选择HikariCP,你需要在pom.xml或build.gradle中...
**JSP与Proxool连接池的深度解析** 在Java Web开发中,数据库连接管理是一项重要的...在提供的压缩包文件中,`Tomcat连接池文件`可能包含了更具体的配置示例和使用指南,有助于深入理解和实践`JSP`与`Proxool`的整合。
在JSP中使用连接池,通常是在Servlet或者Filter中初始化连接池,然后在需要访问数据库的JSP页面或Servlet中获取和释放连接。这种方式使得数据库连接的管理更加规范,降低了资源消耗。 连接池的使用还有以下几个重要...
在JSP中实现数据库连接池,通常会用到诸如Apache的DBCP或C3P0这样的第三方库。这些连接池组件提供了预配置的数据库连接,当Web应用需要时可以从池中获取,不需要时归还回池,而不是直接关闭。这样可以避免每次请求都...
在JSP中实现数据库连接池,通常需要以下步骤: 1. **选择连接池组件**:有很多成熟的开源数据库连接池实现,如Apache的DBCP、C3P0,以及HikariCP等。这些组件提供了API来管理和维护数据库连接。 2. **配置连接池**...