zoukankan      html  css  js  c++  java
  • Tomcat下,MySQL连接池的配置和使用(Tomcat9,MySQL5.5)

    一、下载MySQL的JDBC驱动包,放置于Tomcat的lib目录之下。

    具体参考:

    Java MySQL JDBC连接测试

    二、配置Web项目,及连接池

    假设自己的Web项目名为test,目录位置于:D:WorkhelloworldWebContent。在 Tomcat 的 confCatalinalocalhost 目录下新建test.xml 文件 ,里面的内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/test" docBase="D:WorkhelloworldWebContent" crossContext="true">
    <Resource name="jdbc/DemoDb" auth="Container" type="javax.sql.DataSource"
        username="root"
        password="admin"
        maxActive="850"
        maxidle="80"
        maxWait="10000"
        removeAbandoned="true"
        removeAbandonedTimeout="5"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/xuejia?serverTimezone=Asia/Shanghai"
        minEvictableIdleTimeMillis="4000"
        timeBetweenEvictionRunsMillis="5000"/>
    </Context>
    • name:连接池名称
    • auth:连接池管理权属性,Container表示容器管理
    • type:对象类型
    • driverClassName:数据库驱动名称
    • url:数据库地址
    • username:数据库用户名
    • password:数据库密码
    • maxActive:最大连接数, 0表示没有限制
    • maxIdle:最大空闲数,超过空闲时间,数据库连接将被释放。设为0表示无限制。
    • maxWait:最大连接等待时间, 单位为 ms, 如果超过此时间将接到异常。设为-1表示无限制。

    三、连接池的使用。创建dbtest.jsp,内容如下:

    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ page import="java.sql.*,
        javax.naming.*,
        javax.sql.*"%>
    <%
        // 从连接池中获取连接句柄
        Context initCtx = new InitialContext();
        Context envCtx = (Context)initCtx.lookup("java:comp/env");
        DataSource ds = (DataSource)envCtx.lookup("jdbc/DemoDb");
        Connection conn = ds.getConnection();
        try {
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("select CONTENTID,TITLE from CONTENTINFO");
            while(rs.next()) {
                out.println(rs.getString(1) + rs.getString(2));
                out.println("<BR/>");
            }
            rs.close();
            stmt.close();
            conn.close();
        }finally{
            if(conn != null) conn.close();
        }
    %>

    打开IE,输入地址:http://localhost:8080/test/dbtest.jsp,其结果如下图所示:

    四、辅助说明

    1. serverTimezone不建议设置为UTC,因为UTC是世界协调时(格林威治标准时间是GMT),跟北京时间相比,UTC比北京早8个小时。如果设置为UTC,同一段SQL语句,在MySQLl直接执行,与编译器执行,结果会有所不同,因为时间相差8个小时。

    2. 连接池的配置,不需要更改content.xml,也不需要更改web.xml。

  • 相关阅读:
    使用form插件 和ajax 结合使用 没有调用success的原因
    不使用插件的ajax 上传文件
    struts2 使用ajax进行图片上传
    Java输入输出流详解
    SSM框架整合(Spring+SpringMVC+MyBatis+Oracle)
    Java WEB开发环境搭建以及创建Maven Web项目
    java连接Oracle数据库
    java轻量级IOC框架Guice
    Java String字符串方法
    python入门
  • 原文地址:https://www.cnblogs.com/nayitian/p/14917092.html
Copyright © 2011-2022 走看看