서블릿에서 JDBC로 MariaDB 연동 방법 및 예제 코드
서블릿과 데이터베이스를 연동하면 클라이언트 요청에 따라 동적인 데이터를 처리할 수 있습니다. 이번 글에서는 서블릿에서 JDBC를 사용하여 MariaDB와 연결하고, 데이터베이스에서 데이터를 조회하는 기본적인 방법에 대해 알아보겠습니다.
1. JDBC 드라이버 설정
서블릿에서 JDBC를 사용하려면 먼저 JDBC 드라이버를 설정해야 합니다. MariaDB를 사용한다면 mariadb-java-client-X.X.X.jar
파일을 프로젝트의 WEB-INF/lib
폴더에 추가해야 합니다. 이 파일이 포함되어 있지 않으면 데이터베이스 연결 시 No suitable driver found
오류가 발생할 수 있습니다.
- 이전 게시글 참고 : JSP에서 MariaDB 연결하기: JDBC 기본 설정 및 테스트
JDBC 드라이버 설정 방법
- MariaDB JDBC 드라이버 다운로드 : https://mariadb.com/downloads/connectors/
- 다운로드한 드라이버 파일을 프로젝트의
WEB-INF/lib
폴더에 추가

2. JDBC 연동 예제 코드
다음은 서블릿에서 JDBC를 사용하여 MariaDB와 연결한 후, 사용자 목록을 조회하는 예제 코드입니다.
package com.bluesharehub;
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 java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@WebServlet("/jdbcExample")
public class JDBCExampleServlet extends HttpServlet {
private static final String DB_URL = "jdbc:mariadb://localhost:3306/school";
private static final String DB_USER = "blueshare";
private static final String DB_PASSWORD = "1234";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
// JDBC 드라이버 명시적 로드
try {
Class.forName("org.mariadb.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try (PrintWriter out = response.getWriter();
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users");
ResultSet rs = stmt.executeQuery()) {
out.println("<h1>사용자 목록</h1>");
out.println("<ul>");
while (rs.next()) {
out.println("<li>" + rs.getString("username") + "</li>");
}
out.println("</ul>");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
코드 설명
- Class.forName(“org.mariadb.jdbc.Driver”): JDBC 드라이버를 명시적으로 로드하여 MariaDB와의 연결을 설정할 수 있습니다.
- 데이터베이스 연결:
DriverManager.getConnection()
을 사용하여 데이터베이스에 연결합니다. - SQL 쿼리 실행:
PreparedStatement
를 사용하여 SQL 쿼리를 실행합니다. - 결과 처리:
ResultSet
을 사용하여 쿼리 결과를 순회하며 데이터를 출력합니다. - 자원 해제:
try-with-resources
구문을 사용하여Connection
,PreparedStatement
,ResultSet
을 자동으로 해제합니다.
실행 결과

☞ 이와 같은 방식으로 서블릿과 JDBC를 사용하여 다양한 데이터베이스 작업을 처리할 수 있습니다. 다음 단계로 커넥션 풀을 설정하여 더 효율적으로 데이터베이스 연결을 관리하는 방법에 대해 알아보겠습니다.
함께 보면 좋은 이전 게시글
- JSP에서 MariaDB 연결하기: JDBC 기본 설정 및 테스트
- JSP에서 JDBC로 MariaDB 쿼리 작성 및 실행 방법
- JSP에서 web.xml과 Application 객체를 활용한 MariaDB 연결 방법
- JSP에서 Tomcat 서버와 MariaDB 연동: 커넥션 풀 설정 및 테스트
- 서블릿 생명주기 메서드와 @PostConstruct, @PreDestroy 활용
이 글이 도움이 되셨다면 공유 부탁 드립니다.