- [JSP] JSP로 CRUD 게시판 만들기 (2) - DB 접근 기술2024년 07월 15일
- Song hyun
- 작성자
- 2024.07.15.:26
728x90반응형[JSP] JSP로 CRUD 게시판 만들기 (2) - DB 접근 기술
1. DB 접근 기술(1)
- DBUtilBasic.java: Connection 객체를 가져오는 클래스이다.
package com.tenco.tboard.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtilBasic { private static final String DB_URL="jdbc:mysql://localhost:3306/db_tboard?useSSL=false&serverTimezone=Asia/Seoul"; private static final String DB_USER="root"; private static final String DB_PASSWORD="asd123"; static { try { Class.forName("com.mysql.cj/Driver"); } catch (ClassNotFoundException e) { System.out.println("DB 드라이버 로딩 실패"); e.printStackTrace(); } } public static Connection getConnection() throws SQLException{ return DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); } }
*serverTimezone=Asia/Seoul
*useSSL=false : 이는 데이터베이스 연결 시 SSL(Secure Socket Layers)를 사용할지, 말지의 여부를 설정하는 부분.
-false로 사용시 SSL을 사용하지 않고 DB에 연결하게 된다.
-개발 환경에서는 보안이 덜 중요한 경우가 많아 SSL을 비활성화하여, 연결 설정을 단순화할 수 있다.
-성능을 중시하는 경우 역시 SSL을 비활성화 할 수 있다.
-하지만 SSL을 비활성화하면 보안에 취약해질 수 있기 때문에, 운영 환경에서는 SSL을 활성화하는 것이 좋다.
2. DB 접근 기술(2)
-context.xml : [webapp] 폴더 아래에 위치하기 때문에, 외부에서 접근이 불가능한 파일이다.
<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/tboard" auth="Container" type="javax.sql.DataSource" factory="com.zaxxer.hikari.HikariJNDIFactory" uniqueResourceName="MyTboard" minimumIdle="5" maximumPoolSize="10" connectionTimeOut="30000" idleTimeOut="60000" maxLifeTime="1800000" jdbcUrl="jdbc:mysql://localhost:3306/db_tboard?serverTimezone=Asia/Seoul" driverClassName="com.mysql.cj.jdbc.Driver" username="root" password="asd123"/> </Context>
*context.xml 파일은 톰캣 서버에서 JNDI 리소스를 설정하는 데 사용된다.
=>이 파일을 통해 DB 연결 풀을 정의하고, 설정할 수 있다.
3. DB 접근 기술(3)
-DBUtil.java: JNDI를 통해, DB 연결 풀에서 연결을 가져오는 유틸리티 클래스.
package com.tenco.tboard.util; import java.sql.Connection; import java.sql.SQLException; import javax.naming.InitialContext; import javax.sql.DataSource; public class DBUtil { private static DataSource dataSource; static { try { InitialContext ctx=new InitialContext(); dataSource=(DataSource)ctx.lookup("java:comp/env/jdbc/tboard"); } catch (Exception e) { System.out.println("DBUtil 초기화 실패"); e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return dataSource.getConnection(); } }
728x90반응형'JSP > CRUD 게시판 만들기' 카테고리의 다른 글
[JSP] JSP로 CRUD 게시판 만들기 (5) - 댓글창 만들기 (0) 2024.07.17 [JSP] JSP로 CRUD 게시판 만들기 (4) - 게시판 만들기 (0) 2024.07.16 [JSP] JSP로 CRUD 게시판 만들기 (3) - JSP 파일 및 로그인 기능 만들기 (1) 2024.07.15 [JSP] JSP로 CRUD 게시판 만들기 (1) - 패키지 및 DB 생성 (0) 2024.07.15 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)