jsp开发中调用tomcat数据库连接池,可能很多朋友都会,下面这段代码相信用过的人都很熟悉:
list1:testpool.jsp
但是许多人不知tomcat启动时,用jndi对数据源做了绑定,所以就不知道如何在j2se中用main函数调用这个数据源,其实,只要把testpool.jsp做一点改动:
InitialContext ctx=new InitialContext();
Object o = ctx.lookup("java:comp/env/hibernate");
out.print("class="+o.getClass().getName());
DataSource ds=(DataSource)o;
.......
即利用反射API打印出这个已注册到jndi中数据源对象的class全名,就会知道原来数据源是一个 “org.apache.commons.dbcp.BasicDataSource”对象,这个class就在%Tomcat%\common\lib 下commons-dbcp-1.2.1.jar包里,与其关联的还有commons-collections-3.1.jar、commons- pool-1.2.jar。
把以上三个包加入当前的工作环境,用下面这段代码就可调用连接池了。我用的是mysql数据库,请在调试时加入mysql的jdbc驱动和%Tomcat%\common\lib下的naming-java.jar
public static void main(String[] args) throws HibernateException {
try{
BasicDataSource bdds = new BasicDataSource();
//设置数据库驱动
bdds.setDriverClassName("org.gjt.mm.mysql.Driver");
//设置JDBC的URL
bdds.setUrl("jdbc:mysql://localhost/sample");
bdds.setUsername("root");
bdds.setPassword("1234");
//设置连接池初始大小
Tomcat的JNDI数据源绑定
bdds.setInitialSize(2);
//JNDI配置
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial","org.apache.naming.java.javaURLContextFactory");
InitialContext ctx=new InitialContext(env);
//数据源绑定到JNDI
ctx.bind("tomcatDS",bdds);
//在JNDI查找数据源
DataSource ds = (DataSource)ctx.lookup("tomcatDS");
Connection con = ds.getConnection();
Statement stmt = con.createStatement();
String strSql = "select * from user";
ResultSet rs = stmt.executeQuery(strSql);
while(rs.next()){
System.out.println("id="+rs.getString(1));
}
rs.close();
stmt.close();
con.close();
}catch(Exception ex){
System.out.print(ex.toString());
}
}
分享到:
相关推荐
在Tomcat服务器中,JNDI的应用主要体现在其内置的JNDI实现——Tomcat JNDI,它允许开发者在应用中通过名称查找和使用资源,如数据源、环境变量等。本文将深入解析Tomcat 5.0中JNDI的工作原理,特别是`ContextBinding...
首先,理解JNDI数据源。JNDI是一种标准接口,允许Java应用查找和绑定命名对象,如数据源。通过JNDI,开发者可以在应用服务器中注册一个数据源,然后在需要时查找并获取数据库连接。这样做的好处包括:方便管理和共享...
【标题】"Tomcat学习笔记 - 使用JNDI数据源" 在Java应用服务器如Tomcat中,使用JNDI(Java Naming and Directory Interface)数据源是一种标准的方式,它允许我们集中管理和配置数据库连接,提高应用的可移植性和可...
在Tomcat中,JNDI主要用来管理资源,例如数据源(DataSource)、邮件会话(Mail Session)以及EJB引用等。通过JNDI,开发者可以将这些资源的配置信息与实际代码分离,增强了代码的可移植性和可维护性。 Tomcat中的...
在本教程中,我们将深入探讨如何正确配置和使用JNDI数据源,以及解决配置过程中可能遇到的问题。 首先,理解JNDI数据源的基本概念。JNDI数据源是一个实现了javax.sql.DataSource接口的对象,它负责管理和维护数据库...
综上所述,这个文档主要讲述了如何在Tomcat服务器上,通过Hibernate和JNDI数据源配置,使用DBCP连接池连接MySQL数据库。尽管Hibernate官方并不推荐使用DBCP,但文档仍然提供了详细的配置步骤,包括环境准备、数据库...
在Java EE环境中,数据源通常由应用服务器提供,如Tomcat、WebLogic、JBOSS等,它们预先配置好并注册到JNDI上下文中,供应用通过JNDI查找使用。 3. **配置数据源** 在不同的应用服务器中,配置数据源的方法略有...
在Tomcat中,JNDI被用来查找和绑定资源,如数据源、EJB等。配置JNDI资源可以帮助我们实现应用程序与数据库或其他服务的解耦,提高代码的可移植性和可维护性。 当在Tomcat6中配置JNDI时,错误可能由多种原因引起: ...
在Tomcat中,JNDI主要用于管理Web应用中的资源,如数据源(DataSource)、JMS队列和主题等。 2. **Tomcat的Context上下文**:在Tomcat中,每个Web应用都有一个Context,这是JNDI树的一个分支,用于存储该应用的特定...
JNDI提供了一个统一的方式来查找和绑定资源,包括数据源。 配置MySQL数据源的步骤如下: 1. **安装MySQL驱动**:确保你的Tomcat服务器已经安装了MySQL的JDBC驱动(mysql-connector-java.jar)。这个驱动通常需要...
通常,在Web应用程序中,数据源常常通过Java Naming and Directory Interface (JNDI)进行管理,这允许多个应用共享同一个数据源,例如在应用服务器如Tomcat、JBoss或WebLogic中。然而,有时我们可能希望在非Web环境...
**二、Tomcat6.0配置JNDI数据源步骤** 1. **创建数据源配置文件**:在Tomcat的`conf/server.xml`文件中,找到`<GlobalNamingResources>`标签,在其中添加数据源的配置。例如,创建一个名为`jdbc/myDataSource`的...
2. **在Tomcat中配置JNDI数据源**: 在Tomcat的`conf/server.xml`文件中,找到`<GlobalNamingResources>`标签,然后添加一个新的`<Resource>`标签来定义数据源。例如: ```xml type="javax.sql.DataSource" ...
在Java应用服务器如Tomcat 6.0中,数据源的配置是一项至关重要的任务,因为它允许应用程序通过JNDI(Java Naming and Directory Interface)查找并使用数据源来操作数据库。数据源(DataSource)是一个接口,它提供...
在Tomcat中,数据源通常通过JNDI(Java Naming and Directory Interface)服务进行查找和绑定,以便于Web应用程序使用。 配置Tomcat6.0的数据源通常需要以下步骤: 1. **准备数据库驱动**:首先,确保你的系统已经...
在Tomcat这样的轻量级应用服务器中,JNDI数据源的配置可能因版本不同而有所差异。 二、数据连接池配置 1. **安装**:Apache Commons DBCP(Database Connection Pool)是常用的数据库连接池实现,依赖于Commons ...
本教程将详细讲解如何在Tomcat 6.0中配置数据源(DBCP)以及如何利用JNDI(Java Naming and Directory Interface)进行服务查找。首先,我们需要了解这两个概念的基础知识。 DBCP(Database Connection Pool)是...
在Tomcat中,JNDI主要被用来查找和绑定数据源,这样应用程序可以通过JNDI查找服务,而无需知道具体的实现细节。 配置JNDI资源在Tomcat中的步骤如下: 1. **创建数据源配置**: - 首先,你需要创建一个JDBC数据源...
通过对Tomcat中的JNDI数据源配置的详细解析,我们可以看到这种配置方式不仅简化了数据库连接的管理和使用,还提高了Web应用的整体性能。此外,由于JNDI的灵活性和可扩展性,这种方法还可以轻松适应未来可能的变化和...
其中`res-ref-name`必须与`context.xml`中定义的数据源名字相同,这样容器才能正确地进行资源绑定。 #### 四、部署数据库驱动 为了使数据源能够正常工作,还需要将数据库驱动文件部署到Web应用程序的`WEB-INF/lib`...