본문 바로가기

AWS

[AWS] tomcat-Mysql jsp 코드로 연동하기(2) -에티버스러닝

에티버스러닝에서 K-Digital Training 교육을 수강하고 있는데 이번에 첫 번째 프로젝트를 진행했다. AWS를 통해 3-Tier Architecture를 구성하는 게 목표였다. 나는 웹 개발을 하는 역할을 맡았다. 사실 코딩에 대해 아예 무지한 건 아니었으나, 자바스크립트도 난생 처음 보고 난항을 겪었기 때문에 글로 남겨놓으려고 한다. 

 


 

이전 글에서 Mysql workbench를 aws의 rds(mysql)와 연결했다.  또 mysql에 table을 생성하고 레코드를 하나 넣었다. 

이번에는 mysql workbench로 rds와 tomcat instance가 서로 잘 연결되었는지를 확인해볼 것이다. 

 

 

필요한 것은 두 가지이다.

1. JDBC connector

2. jsp 파일(드라이버 설정을 해야 함)

 

 

1. JDBC connector

1.1 JDBC connector 설치

 

 

 

MySQL :: Download Connector/J

 

MySQL :: Download Connector/J

MySQL Connector/J is the official JDBC driver for MySQL. MySQL Connector/J 8.0 and higher is compatible with all MySQL versions starting with MySQL 5.7. Additionally, MySQL Connector/J 8.0 and higher supports the new X DevAPI for development with MySQL Ser

dev.mysql.com

 

이 링크에서 맞는 버전을 다운 받으면 된다. 

 

맞는 버전을 선택한다.

Window를 사용한다면 Platform Independent를 다운 받는다. 

 

 

 

 

 

1.2 JDBC connector 파일 tomcat에 옮기기 

/home/tomcat/apache-tomcat-9.0.76/webapps/ROOT/WEB-INF/lib

이 위치에 jar 파일만 옮기면 된다. 

 

옮기는 방법은 여러 가지가 있겠지만 나는 xshell의 ftp 기능을 사용했다. 

 

왼쪽에서 오른쪽으로 파일을 드래그 앤 드롭 하면 된다. 

 

 

 

 

2. jsp 코드 작성

mysql jdbc를 설치했으니 이제 확인 작업이 필요하다. 

 

2.1 Mysql driver 코드 작성

vi /home/tomcat/apache-tomcat-9.0.76/webapps/ROOT/ex1_driver.jsp 

코드를 작성한다. 

GPT한테 물어봤다 ㅋㅋㅋ 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ page import="java.sql.*" %>

<%
// MySQL 데이터베이스 연결 정보
String url = "jdbc:mysql://엔드포인트:3306/스키마(reca3)";
String username = "admin";
String password = "12341234";

Connection conn = null;

try {
    // JDBC 드라이버 로드
    Class.forName("com.mysql.cj.jdbc.Driver");

    // MySQL 데이터베이스와 연결
    conn = DriverManager.getConnection(url, username, password);

    // 연결 상태 확인
    if (conn != null) {
        out.println("<h2>Connected to MySQL database successfully!</h2>");
    } else {
        out.println("<h2>Failed to connect to MySQL database!</h2>");
    }

    // 여기서부터 원하는 쿼리 실행 및 데이터 처리 등을 수행할 수 있습니다.
    // ...

} catch (Exception e) {
    e.printStackTrace();
    out.println("<h2>Failed to connect to MySQL database!</h2>");
} finally {
    // 자원 해제
    try {
        if (conn != null) conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
%>

 

 

 

2.2 확인