728x90
반응형
Connection Pool
· 커넥션 풀이란 DB와 연결하는 커넥션을 미리 생성해두고 풀에 저장해두었다가 필요할 때
꺼내쓰고, 사용후에는 다시 풀에 반환하는 기법을 말한다.
· 커넥션을 미리 생성해 두기 때문에 커넥션을 사용자가 DB를 사용할 때 마다 매번 생성하는
것보다 더 빠른 속도를 보장한다. 또한 커넥션의 최대 생성 갯수도 제어가 가능하므로 과부하를
방지할 수 있다.
1. server폴더에서 context.xml복사
2. WebCcontent>MERA-INF에 붙혀넣기
3. WebCcontent>MERA-INF>context.xml 열기
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/내가 정하는 이름" auth="Container"
type="javax.sql.DataSource" maxTotal="100" maxIdle="30"
maxWaitMillis="10000" username="디비유저명" password="디비유저비밀번호"
driverClassName="com.mysql.cj.jdbc.Driver"
factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"
url="jdbc:mysql://localhost:3306/데이터베이스명" />
</Context>
4. WEB-INF>web.xml열기
5. 아래 코드 추가
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/내가 정하는 이름</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
6. DBConn.java생성
package model;
import java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class DBConn {
public static Connection getConnection() throws Exception {
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/내가 정하는 이름");
Connection conn = ds.getConnection();
return conn;
}
}
7. 접속이 문제없는지 테스트하기 -> dbTest.jsp생성
<%-- dbTest.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="model.DBConn, java.sql.*" %>
<%
Connection conn = DBConn.getConnection();
%>
<%=conn%>
728x90
반응형