Tomcat6.0 配置外部数据源(JNDI)

Tomcat6.0以上版本配置JNDI,只需修改conf下context.xml文件,在Tomcat目录的lib下加入common-dbcp.jar和数据库jar包

<?xml version='1.0' encoding='utf-8'?>
<Context>

    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- 新增配置,配置外部数据源 -->
    <Resource name="jdbc/DB2source"
    auth="Container"
    type="javax.sql.DataSource"
    url="jdbc:sqlserver://192.168.0.119;DatabaseName=XXXXX"  
    username="sa"
    password="XXXXX."
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
    maxIdle="3"
    maxWait="-1"
    maxActive="50" />

</Context>

参数介绍:

       name:给数据源设置名字(jndi) 
       auth:表示数据源由谁管理
       type:类型 
       maxActive:在连接池中最大的激活连接数 
       maxIdle:在连接池中最大的保留(空闲)连接数 
       maxWait:客户端在队列池中最大等待时间(秒) 

测试代码(新建Web工程,无法在Main方法中测试):

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>   
<%@ page language="java"%>   
<%@ page import="java.util.*"%>   
<%@ page import="java.sql.*"%>   
<%@ page import="javax.sql.*"%>   
<%@ page import="javax.naming.*"%>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>配置   JNDI</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
  </head>
  <body>
Tomcat6.0+ 配置   JNDI(common-dbcp.jar,sqljdbc4.jar)
  <%
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            Context ctx = new InitialContext();

            Context envContext = (Context) ctx.lookup("java:/comp/env");
            DataSource ds = (DataSource) envContext.lookup("jdbc/DB2source");
            conn=ds.getConnection();
            
            if (conn == null) {
                System.out.println("连接未获取成功...........");
            } else {
                System.out.println("获取连接............");
            }
            String sql = "select * from systemusers";
            ps=conn.prepareStatement(sql);
            rs= ps.executeQuery();
            while (rs.next()) {
                System.out.println("===============Name:"+rs.getString("userName"));
                out.println("===============Name:"+rs.getString("userName")+"\r");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            try {
               if(conn!=null){
                conn.close();
               }
               if(ps!=null){
                ps.close();
               }
               if(rs!=null){
                rs.close();
               }
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
  
  %>
  </body>
</html>


原文链接地址:http://www.cnblogs.com/archie2010/archive/2011/09/03/2165562.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值