数据库连接池--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>

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

Coding Diary

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值