zoukankan      html  css  js  c++  java
  • jsp>Tomcat 6.0数据源配置记录 小强斋

    目的:jdbc基本操作过程:打开数据库,操作数据库,关闭数据库,连接只有操作数据库不同。为了解决不必要的资源浪费,使用数据源来减少打开和关闭数据库的操作

    1、通过Connection Pool 管理数据库连接
    2、通过DataSource 去管理Connection Pool
    3、DataSource 被JNDI 绑定 (java 命名 目录 借口)
    第一步,copy数据库驱动程序到Tomcat\lib目录.
    第二步,修改Tomcat\conf\context.xml文件。
    <Context>
     <!-- Default set of monitored resources -->
     <WatchedResource>WEB-INF/web.xml</WatchedResource>
     <Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
      maxActive="30" maxIdle="30" maxWait="-1" username="hdty_system"
      password="hdty_system" driverClassName="oracle.jdbc.driver.OracleDriver"
      url="jdbc:oracle:thin:@localhost:1521:orcl" />
    </Context>
    第三步,更新应用程序目录WEB-INF/web.xml文件,添加如下内容。
    <resource-ref>
            <description>db connection</description>
            <res-ref-name>jdbc/test</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref>
    第四步,测试数据源配置成功。
    <%@ page contentType="text/html" pageEncoding="GB2312" %>
      <%@ page import="java.sql.*"%>
      <%@ page import="javax.sql.DataSource"%>
      <%@ page import="javax.naming.*"%>
      <html>
          <body>
                <%
                  Connection connection = null;
                    Context context = null;
                    DataSource dataSource = null;
                    context = new InitialContext();
                    dataSource = (DataSource) context.lookup("java:/comp/env/jdbc/test");
                    if (dataSource != null) {
                            connection = dataSource.getConnection();
                    }
    
                    out.println(connection );
                    Statement s = connection.createStatement();
                    ResultSet rs = s.executeQuery("select * from  表");
                    rs.next();
                    out.println(rs.getString(2));
                %>
            </body>
        </html>

  • 相关阅读:
    python-44-初识队列
    python-43-进程锁/信号量/事件
    python-42-Process多进程
    python-41-初识hmac与socketserver模块
    python-40-初识socket与struct
    python-39-hashlib与logging模块
    python-38-用于面向对象的内置函数
    python-37-各种反射
    python-36-封装与面向对象函数
    python-35-多态与初识封装
  • 原文地址:https://www.cnblogs.com/xiaoqiangzhaitai/p/5637577.html
Copyright © 2011-2022 走看看