Tomcat5.5私有JNDI、数据源(链接池)的配置

可以在两个位置配置JNDI:
1. $CATALINA_HOME/conf/server.xml,在这个文件里的是全局的,对所有应用可见;
2. 对于Tomcat5.5以上版本,可以在web应用的context XML文件(META-INF/context.xml)中配置私有数据源,只对这个web应用可见。
大家都知道第一个位置,第二个不熟悉,看看下面的目录结构:

   1. 应用目录-- 
   2.             --WEB-INF/web.xml 
   3.             --META_INF/context.xml 
   4.             --index.jsp 


一个context.xml 文件的例子:

   1. <Context debug="0"> 
   2.     <Resource name="jdbc/MyDataSource" auth="Container" 
   3.         type="javax.sql.DataSource" 
   4.         driverClassName="com.mysql.jdbc.Driver" 
   5.         url="jdbc:mysql://localhost:3306/数据库?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;mysqlEncoding=utf8
   6.         username="用户
   7.         password="密码
   8.         maxActive="20" 
   9.         maxIdle="3" 
  10.         removeAbandoned="true" 
  11.         maxWait="3000" /> 
  12.         <!-- If you want e-mail features, un-comment the section below --> 
  13.         <!-- 
  14.         <Resource name="mail/Session" auth="Container" 
  15.         type="javax.mail.Session" 
  16.         mail.smtp.host="mailhost.example.com" /> 
  17.         --> 
  18. </Context> 
 

下面是一段JSP示例代码:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>

<%
    InitialContext ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDataSource");
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    try {
        conn = ds.getConnection();
        stmt = conn.createStatement();
        rs = stmt.executeQuery("SQL语句");
//其它操作
        rs.close();rs=null;
        stmt.close();stmt = null;
        conn.close();conn = null;
    } finally {
        if (rs != null) {
            try {
                rs.close();
            } catch (Exception sqlex) {
            }
            rs = null;
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (Exception sqlex) {
            }
            stmt = null;
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception sqlex) {
            }
            conn = null;
        }
    }
%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值