数据库连接池

背景:
创建数据库连接池,并交给tomcat管理
1、创建一个web项目
2、导包/建数据库
在这里插入图片描述

3、项目结构
在这里插入图片描述
在这里插入图片描述
4、在META-INF 文件下编写context

<?xml version="1.0" encoding="UTF-8"?>
<context>
<!-- 数据库连接池 -->
	<Resource
			 driverClassName="com.mysql.jdbc.Driver"
			 url="jdbc:mysql://localhost:3307/newport" username="root"
			 password="password" 
			 maxActive="50"
			 maxIdle="20" 
			 name="test"
			 auth="Container"
			 maxWait="10000"
			 type="javax.sql.DataSource"/>
	
</context>

注:这个时候就可以将项目发布到tomcat了,如果没有报错说明tomcat已经产生了数据库连接池。

现在我们要做的就是怎么从tomcat中拿到数据库连接池并使用它。
5、编写测试类testservicelet

package com.pool.serverlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import com.sun.crypto.provider.RSACipher;

import javafx.css.PseudoClass;




@WebServlet("/pool")
public class testserverlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse rps) throws ServletException, IOException {
		try {
			Context cxt =  new InitialContext();
			DataSource dSource = (DataSource) cxt.lookup("java:comp/env/test");
			Connection conn = dSource.getConnection();
			PreparedStatement ps = conn.prepareStatement("select * from ssm");
			ResultSet re = ps.executeQuery();
			rps.setContentType("text/html;Charset= utf-8");
			PrintWriter out = rps.getWriter();
			while (re.next()) {
				out.print(re.getInt(1)+"&nbsp&nbsp&nbsp&nbsp&nbsp;"+re.getString(2)+"<br/>");
				
			}
			out.flush();
			out.close();
			out.close();
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		super.service(req, rps);
		
	}

}

6、实验结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值