数据库连接池–Tomcat内置连接池详解编程语言

web服务器提供了DataSource实现
JNDI(Java Naming and Directory Interface),Java命名和目录接口,
它可以把Java对象放在一个容器中(JNDI容器),并为容器中的java对象取一个名称,以后程序想获得Java对象,只需通过名称检索即可
tomcat将DataSource实现放置到JNDI容器中

示例:

1.将tomcat数据源添加到JNDI中
位置:META-INF/context.xml

context.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
 
    <!-- 将数据源添加到给 JNDI容器中 
         name : JNDI容器名称 
         auth : 放置的位置 
         type :确定放置对象的类型(数据源) 
     --> 
  <Resource name="jdbc/myDataSource" auth="Container" type="javax.sql.DataSource" 
               maxActive="100" maxIdle="30" maxWait="10000" 
               username="root" password="1234" driverClassName="com.mysql.jdbc.Driver" 
               url="jdbc:mysql://localhost:3306/mydb"/> 
 
</Context> 

2.给当前web项目配置 web.xml

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
 
  <!-- 给当前web项目引用 jndi中数据源 --> 
   <resource-ref> 
      <res-ref-name>jdbc/myDataSource</res-ref-name> 
      <res-type>javax.sql.DataSource</res-type> 
      <res-auth>Container</res-auth> 
  </resource-ref> 
 
</web-app> 

3.测试jsp

dataSource.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
    <!-- 通过配置带jdni中的数据源,查询数据库 --> 
    <sql:query var="rs" dataSource="jdbc/myDataSource"> 
        select * from users 
    </sql:query> 
 
    <c:forEach var="row" items="${rs.rows}"> 
        id :  ${row.id}  ##   name :  ${row.name}<br/> 
</c:forEach> 
</body> 
</html>

运行结果:
这里写图片描述

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/12066.html

(0)
上一篇 2021年7月19日 14:18
下一篇 2021年7月19日 14:18

相关推荐

发表回复

登录后才能评论