SeouliteLab

톰캣(Tomcat)과 커넥션풀(DBCP)을 이용한 데이터베이스 연결 설정하기 본문

프로그래밍

톰캣(Tomcat)과 커넥션풀(DBCP)을 이용한 데이터베이스 연결 설정하기

Seoulite Lab 2024. 3. 20. 11:24

1. Tomcat 설치하기

먼저, 톰캣을 설치해야 합니다. 공식 웹사이트에서 톰캣을 다운로드하고 설치하세요. 설치가 완료되면 톰캣을 실행합니다.

2. 커넥션풀 라이브러리 추가하기

톰캣에는 기본적으로 커넥션풀 라이브러리가 포함되어 있지 않습니다. 따라서 아파치 커먼즈 라이브러리를 다운로드하여 톰캣의 lib 폴더에 추가해야 합니다. 다음 명령어를 사용하여 다운로드할 수 있습니다.

wget http://mirror.navercorp.com/apache//commons/dbcp/binaries/commons-dbcp2-2.9.0-bin.tar.gz

다운로드가 완료되면 압축을 풀고 lib 폴더에 포함된 jar 파일을 톰캣의 lib 폴더로 복사합니다.

3. 커넥션풀 설정하기

이제 톰캣의 context.xml 파일을 편집하여 커넥션풀을 설정합니다. 톰캣의 conf 폴더에 있는 context.xml 파일을 열고 다음과 같이 Resource 태그를 추가합니다.

<Resource name="jdbc/myDB" 
          auth="Container" 
          type="javax.sql.DataSource"
          maxTotal="100" 
          maxIdle="30" 
          maxWaitMillis="10000" 
          username="yourusername" 
          password="yourpassword" 
          driverClassName="com.mysql.cj.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/myDB" />

위의 코드에서 username과 password를 자신의 데이터베이스 정보로 변경하세요. 또한, driverClassName과 url도 자신의 데이터베이스에 맞게 수정해야 합니다.

4. 웹 애플리케이션에서 커넥션풀 사용하기

웹 애플리케이션에서는 커넥션풀을 JNDI로 참조하여 사용할 수 있습니다. 다음은 Java 코드에서 커넥션풀을 얻는 예제입니다.

import javax.naming.InitialContext;
import javax.naming.Context;
import javax.sql.DataSource;
import java.sql.Connection;

Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/myDB");
Connection conn = ds.getConnection();

위의 코드에서 "jdbc/myDB"는 context.xml 파일에 정의된 리소스의 이름과 일치해야 합니다.

5. 커넥션풀 설정 검증하기

톰캣을 재시작한 후 웹 애플리케이션에서 커넥션풀을 사용하여 데이터베이스에 연결해보세요. 연결이 성공하면 정상적으로 커넥션풀이 설정된 것입니다.