数据源的原理

在一个对象池中保存多个数据库的连接,即,数据库的连接池,以后连接的时候,直接从连接好的池中取出即可.

JNDI服务

即,java命名及其目录接口.
为java ee 提供的一个服务.
即,通过key,查找到一个value.

即 哈希数据结构

即,数据库通过查询key,得到一个绑定的对象,然后,通过绑定的对象,获得数据库连接.

思想 池的思想

即,预想建立好,大量的数据库连接,然后,使用的时候,直接连接即可.

ps 另外, 修改应该是直接修改数据库连接的,其余的不变

<%@ page import="javax.naming.Context" %>
<%@ page import="javax.naming.InitialContext" %>
<%@ page import="javax.sql.DataSource" %>
<%@ page import="java.sql.Connection" %><%--
  Created by IntelliJ IDEA.
  User: ming
  Date: 19-3-20
  Time: 下午9:00
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String DSNAME = "java:comp/env/jdbc/ming";
    Context context = new InitialContext();
    DataSource dataSource = (DataSource)context.lookup(DSNAME);
    Connection connection = dataSource.getConnection();
%>
<%=connection%>
<%
    connection.close();
%>
</body>
</html>

配置连接

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
    <Resource name="jdbc/ming"
        auth = "Container"
        type = "javax.sql.DataSource"
        maxActive = "100"
        maxIdle = "30"
        maxWait = "10000"
        username = "test"
        password = " "
        driverClassName = "com.mysql.cj.jdbc.Driver"
        url = "jdbc:mysql://47.94.95.84:32786/test"
    />
</Context>

即,对上层的封装