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

来源:互联网 发布:excel自动填入数据 编辑:程序博客网 时间:2024/04/29 08:39

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

 

原创粉丝点击