• 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>
    by archie
  • 相关阅读:
    《哈佛商业评论》2018正刊12期与增刊25期的点评
    《财经》2018年共30+1期的点评与摘抄
    4星|《人人都在说谎》:社会科学方面有趣的数据分析方法与结论
    3星|侯世达《我是个怪圈》:关于人类意识的各种哲学思辨
    虚拟机 SUSE Linux Enterprise Server 12 SP2 64
    虚拟机 CentOS7 64
    虚拟机 ubuntu 16.04
    虚拟机 windows xp sp3 原版
    C#实现控制Windows系统关机、重启和注销的方法
    日期时间设置 "2018-05-04T16:36:23.6341371+08:00" 格式
  • 原文地址:https://www.cnblogs.com/archie2010/p/2165562.html
Copyright © 2020-2023  润新知