[설치 환경]

- OS : Debian GNU/Linux 10 (buster)

- java : openjdk version "11.0.14"

- Tomcat 10.0.17

- muysql 5.7

- mysql connector

 

Tomcat 설정

1. jsp 파일로 연동

mysql jdbc driver 다운로드 및 설치

mysql jdbc driver 파일을 다운로드하고 압축을 해제하는 예시를 설명한다.

mysql jdbc driver 파일을 다운로드한다. 파일 경로는 변경될 수 있으니, https://downloads.mysql.com/archives/c-j/ 페이지에서 다운로드 경로를 확인하고 본인이 다운로드 하려는 MySQL Product 버전과 OS 버전에 맞는 jdbc 드라이버를 다운로드한다.

본 문서에서는 debian Linux 10 용 mysql connector 8.0.28 버전을 다운로드했다.

wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java_8.0.28-1debian10_all.deb

아래는 mysql jdbc Driver 파일(mysql-connector-java_8.0.28-1debian10_all.deb)을 mysql_jdbc 디렉토리에 압축해제하는 명령어이다.

dpkg -x mysql-connector-java_8.0.28-1debian10_all.deb mysql_jdbc

 

압축을 해제하면 mysql_jdbc/usr/share/java/ 디렉토리 밑에 mysql-connector-java-8.0.28.jar 파일이 생기는데 이 파일을 

tomcat의 lib 폴더로 이동한다. 파일권한을 tocat user로 변경해 준다.

 

## 파일 이동
sudo mv mysql-connector-java-8.0.28.jar /opt/tomcat/lib

## 파일소유 변경
sudo chown tomcat:tomcat /opt/tomcat/lib/mysql-connector-java-8.0.28.jar

 

Tomcat 실행

# systemctl start tomcat

 

접속확인

/opt/tomcat/webapps/ROOT 디렉토리에 아래 내용으로 mysql.jsp 파일을 생성한다.

아래 내용 중 mysql_server_ip, dba_name, username, password 부분은 각자의 DB 환경에 맞게 수정한다.

<%@ page import="java.sql.*" %>
<%@ page contentType="text/html;charset=utf-8" %>
<%
         String DB_URL = "jdbc:mysql://mysql_server_ip/db_name";
         String DB_USER = "username";
         String DB_PASSWORD= "password";
         Connection conn;
         Statement stmt;

         try {
              Class.forName("com.mysql.jdbc.Driver");
              conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
              stmt = conn.createStatement();
              conn.close();
              out.println("MySQL Connection Success!");
         }
         catch(Exception e){
              out.println(e);
         }
%>

브라우저에 tomcat이 설치된 서버의 ip와 port 그리고 위에서 작성한 jsp 파일명을 입력한다.

예시) http://127.0.0.1/mysql.jsp

" MySQL Connection Success!" 와 같은 메시지가 브라우저 화면에 출력된다.

 

 

2. 환경파일 설정

tomcat 과 mysql 을 connnection pool 로 연결하는 방법이다. tomcat lib 디렉토리에 mysql jdbc 드라이버가 있어야 한다.

없을 경우 위에서 설명한 대로 다운로드 후 jdbc 드라이버를 lib 디렉토리 하위에 이동 또는 복사한다.

mysql DB 접속 설정을 위해 context.xml 파일과 web.xml 파일에 정의해 준다.

 

1) context.xml 파일에 DB 접속 정보를 입력한다.

sudo vi /opt/tomcat/conf/context.xml

context.xml 파일에 아래 내용을 입력한다.

<Context>
   ...
 <Resource name="jdbc/mysql"
        auth="Container"
        type="javax.sql.DataSource"
        username="<username>"
        password="<password>"
        driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://mysql_ip:3306/db_name" 
        maxActive="15"
        maxIdle="3"/>

   ...
</Context>
  • username: MySQL 계정 이름
  • password: MySQL 계정 비밀번호
  • url: "jdbc:mysql://mysql_ip:3306/db_name"
  • db_name: DB이름

 

JSP에서 테스트 코드 작성

/opt/tomcat/webapps/ROOT 디렉토리에 아래 내용으로 mysql_dbcp.jsp 파일을 생성한다.

아래 내용 중 comp/env/jdbc/mysql 에서 jdbc/mysql 부분은 위의 context.xml 파일에서 정의한 resource name 이다.

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import = "java.sql.*"%>
<%@ page import = "javax.sql.*"%>
<%@ page import = "javax.naming.*"%>
<%
    Connection conn=null;

    Context init = new InitialContext();
    DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/mysql");
    conn = ds.getConnection();
    out.println(conn);
    conn.close();
%>

 

아래 화면처럼 출력되면 db connection pool 설정이 정상적으로 작동한 것이다.

1907371254, URL=jdbc:mysql://10.0.0.5:3306/mysql, MySQL Connector/J

 



 

 

 

+ Recent posts