Tomcat6.0的JNDI使用方法(连接池)
2013-03-12 20:45
393 查看
原文/article/5890640.html
最近有项目用到JNDI,为了方便的更改数据库和环境,好吧,那我就来学习下,顺便分享下方法,网上的方法乱七八糟,看的我眼都晕了。以下我提供的方法绝对是我本人试过可用的,要不发上来被你看到了,估计会被你骂。囧……
先让大家看下我的项目图:
一、我们先找到tomcat6.0conf目录下的context.xml更改里面的内容:
其他的全删掉,只要替换成我上面这样的就可以。
参数解释:
name 为当前数据源JNDI的名字,可以随意设定;
auth 为验证方式;
type 资源类型;
driverClassName 为Oracle驱动引用;
maxActiv 为连接池最大激活的连接数,设为0表示无限制;
maxIdle 为连接池最大空闲的连接数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制;
maxWait 为连接最大的等待时间,单位毫秒,如果超过此时间将接到异常。设为-1表示无限制;
username 为oracle数据库的一个用户名;
password 为username的密码;
url 为连接oracle的连接地址;
二、新建个项目JNDIPro,名字就叫这个啦。
三、里面建个类ConnectionPool.java
四、网上有的人说要配置下项目的WebRoot/web-inf下的web.xml文件,如下,我自己没有配置也运行成功了(大家可以省略,如果不行再加上,我不敢保证所有的环境都和我的一样)
在<web-app></web-app>中间配置,
五、现在我们来写个JSP页面测试下,如下代码:
六、启动tomcat,运行结果如下:
OK,大功告成。不行的同学仔细对照上面的步骤看下,反正我是成功啦。
本文出自:http://www.shuyangyang.com.cn/jishuliangongfang/Javabiancheng/2013-03-10/64.html
转载请保留此信息!
最近有项目用到JNDI,为了方便的更改数据库和环境,好吧,那我就来学习下,顺便分享下方法,网上的方法乱七八糟,看的我眼都晕了。以下我提供的方法绝对是我本人试过可用的,要不发上来被你看到了,估计会被你骂。囧……
先让大家看下我的项目图:
一、我们先找到tomcat6.0conf目录下的context.xml更改里面的内容:
<?xml version='1.0' encoding='utf-8'?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/mysqldb" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" username="root" password="123456" maxActive="4" maxIdle="2" maxWait="-1" /> <ResourceLink global="mysqldb" name="mysqldb" type="javax.sql.DataSource"/> </Context>
其他的全删掉,只要替换成我上面这样的就可以。
参数解释:
name 为当前数据源JNDI的名字,可以随意设定;
auth 为验证方式;
type 资源类型;
driverClassName 为Oracle驱动引用;
maxActiv 为连接池最大激活的连接数,设为0表示无限制;
maxIdle 为连接池最大空闲的连接数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制;
maxWait 为连接最大的等待时间,单位毫秒,如果超过此时间将接到异常。设为-1表示无限制;
username 为oracle数据库的一个用户名;
password 为username的密码;
url 为连接oracle的连接地址;
二、新建个项目JNDIPro,名字就叫这个啦。
三、里面建个类ConnectionPool.java
package com.shyy.jndi; import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class ConnectionPool { private static Connection conn; public static Connection getConn(){ try{ Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysqldb"); conn = ds.getConnection(); }catch(Exception e){ e.printStackTrace(); } return conn; } }
四、网上有的人说要配置下项目的WebRoot/web-inf下的web.xml文件,如下,我自己没有配置也运行成功了(大家可以省略,如果不行再加上,我不敢保证所有的环境都和我的一样)
在<web-app></web-app>中间配置,
<resource-ref> <description>DB Connection test</description> <res-ref-name>jdbc/mysqldb</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
五、现在我们来写个JSP页面测试下,如下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.shyy.jndi.ConnectionPool,java.sql.Connection,java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>测试JNDI连接</title> </head> <body> <% ConnectionPool conn = new ConnectionPool(); Connection connconns = conn.getConn(); if(null!=conns){ out.println("数据库连接状态:<b>OK</b><hr />"); PreparedStatement pst = conns.prepareStatement("SELECT * FROM USER_INFO"); ResultSet rs = pst.executeQuery(); while(rs.next()){ int id =rs.getInt("ID"); String name = rs.getString("NAME"); String sex = rs.getString("SEX"); String telPhone = rs.getString("TELPHONE"); out.println("<b>id:</b>"+id+"<br /><b>姓名:</b>"+name+"<br /><b>性别:</b>"+sex+"<br /><b>手机号:</b>"+telPhone+"<hr />"); } }else{ out.println("数据库连接状态:NO"); } %> </body> </html>
六、启动tomcat,运行结果如下:
OK,大功告成。不行的同学仔细对照上面的步骤看下,反正我是成功啦。
本文出自:http://www.shuyangyang.com.cn/jishuliangongfang/Javabiancheng/2013-03-10/64.html
转载请保留此信息!
相关文章推荐
- Tomcat6.0的JNDI使用方法(连接池) 推荐
- Tomcat6.0的JNDI使用方法(连接池)
- Tomcat6.0的JNDI使用方法(连接池)
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作
- Tomcat 6下配置使用Proxool的JNDI 连接池
- Tomcat 6.0+Mysql+C3P0 配置连接池方法
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池 配置相关
- 在xp和Win7上使用Tomcat 6.0经常遇到的几个问题及其解决方法
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- Hibernate 使用JBOSS 自带JNDI连接池连接SQL SERVER 2005的配置方法
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- Tomcat6.0+mysql+jdk1.6.0 jndi连接池的配置步骤
- Tomcat 6.0配置数据源(DBCP)和JNDI使用
- 在Tomcat 6.0中配置数据库JNDI的方法
- 在Tomcat 6.0下用JNDI连接IBM MQ 6.0的配置方法
- 在Tomcat 6.0下用JNDI连接IBM MQ 6.0的配置方法