[java] JSP에서의 데이터베이스 연동 방법

JavaServer Pages(JSP)는 Java 기반의 웹 프로그래밍 언어로, 데이터베이스와의 연동은 중요한 기능입니다. 이번 블로그에서는 JSP에서 데이터베이스와의 연동을 위한 방법을 살펴보겠습니다.

1. JDBC 드라이버 설치

JDBC(Java Database Connectivity)는 자바 프로그래밍 언어를 통해 데이터베이스에 접속하고 SQL 쿼리를 실행하는 데 사용되는 API입니다. JSP에서 데이터베이스와의 연동을 위해, 먼저 JDBC 드라이버를 설치해야 합니다. JDBC 드라이버는 사용하는 데이터베이스 종류에 따라 다릅니다. 각 데이터베이스 공급업체의 웹사이트에서 JDBC 드라이버를 다운로드 받을 수 있습니다.

2. JDBC 드라이버를 웹 프로젝트에 추가

설치한 JDBC 드라이버를 JSP 웹 프로젝트에 추가해야 합니다. 대부분의 경우, JSP 웹 프로젝트의 웹 인프라(lib 또는 WEB-INF/lib) 디렉터리에 JDBC 드라이버 JAR 파일을 복사하는 것으로 추가할 수 있습니다.

3. 데이터베이스 연결

JDBC를 사용하여 데이터베이스에 연결하려면 다음과 같은 과정을 거쳐야 합니다:

<%@ page import="java.sql.*" %>

<%
    // 데이터베이스 연결 정보
    String url = "jdbc:mysql://localhost:3306/mydb";
    String username = "root";
    String password = "password";

    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    try {
        // 데이터베이스 연결
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url, username, password);

        // SQL 쿼리 실행
        stmt = conn.createStatement();
        String sql = "SELECT * FROM users";
        rs = stmt.executeQuery(sql);

        // 결과 처리
        while (rs.next()) {
            String name = rs.getString("name");
            int age = rs.getInt("age");
            out.println("Name: " + name + ", Age: " + age);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } finally {
        // 연결 종료
        if (rs != null) rs.close();
        if (stmt != null) stmt.close();
        if (conn != null) conn.close();
    }
%>

위의 코드에서는 MySQL 데이터베이스에 연결하여 “users” 테이블의 데이터를 가져오는 예제입니다. 데이터베이스 연결 정보는 해당 데이터베이스의 설정에 따라 변경되어야 합니다.

4. 데이터베이스 연동 활용

JSP에서 데이터베이스 연동을 활용하는 방법은 다양합니다. 예를 들어, 회원가입 폼에서 입력한 정보를 데이터베이스에 저장하거나, 게시판에 작성된 글을 데이터베이스에서 조회하는 등의 작업이 가능합니다. 이때는 필요에 따라 SQL 쿼리를 작성하여 데이터베이스와 상호작용하면 됩니다.

참고 자료

JSP에서 데이터베이스와의 연동은 중요한 기능이며, 이를 통해 웹 애플리케이션의 다양한 기능을 개발할 수 있습니다. 데이터베이스 연동을 위한 JDBC 드라이버 설치부터 실제 데이터베이스 연결 그리고 활용까지의 과정을 이해하고 활용하여 효과적인 웹 프로그래밍을 할 수 있습니다.