basic/jsp

JSP[05] - 커넥션 풀 Connection pool

못지(Motji) 2021. 6. 7. 17:05

💡

연결 지향성 : 브라우저 환경에서 요청 —> 결과를 받고 난 후 랜선을 뽑으면 바로 페이지를 볼 수 없는 환경

비연결 지향성 : 브라우저 환경에서 요청 —> 결과를 받고 난 후 랜선을 뽑아도 페이지가 유지되는 환경

커넥션 풀 Connection pool

  • 커넥션풀은 데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool)속에 저장해 두고 필요할때에 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법을 의미함
  • 즉, 커넥션 풀 객체를 만들어 놓고 관리하며 요청 들어오면 미리 만들어 놓은것을 재사용하기 위한 방법

☑ 특징

  • 커넥션 생성하는 연결 시간을 줄일 수 있다 ▹ 어플리케이션 실행 속도 빨라짐
  • 재사용하기 때문에 생성되는 커넥션 수가 일정하게 유지된다 ▹ 동시접속사가 몰려도 쉽게 다운되지 않는다

☑ 커넥션 풀 준비사항

  • ojdbc8 : jdbc로 DB 연결할때 필요한 라이브러리 (오라클 DB)
  • tomcat-dbcp.jar : DataBase Connection Pool : 커넥션풀 사용에 필요한 라이브러리
  • 서버의 context.xml에 커넥션에 필요한 resource 기술
  • DAO (Data Access Object) : DB관련 처리(비지니스로직처리)를 전담하는 클래스 파일 만들기

* 클라이언트 HTTP request ▹ Catalina(apache 서버 안에 있는) ▹ Context ▹ servlet ▹ 클라이언트 response

DAO Data Access Object

  • 데이터베이스에 접속해서 데이터 추가, 삭제, 수정 등의 작업을 위해 사용하는 클래스를 의미한다.
  • 일반적으로 한개의 DB 테이블마다 한개의 DAO 클래스를 작성한다.
  • DAO는 DB커넥션 관련 메소드와 DB에서 처리하는 기능 INSERT, SELECT, UPDATE, DELETE 등의 쿼리를 실행해주는 메소드를 각각 상황에 맞게 작성한다.

💡 DAO / DTO (자바빈)

∙ DAO : DB 관련 클래스

∙ DTO : 데이터를 옮겨 다닐때 사용한다 (==VO)

 

💡 MVC 패턴 (개발할때의 패러다임, 무슨패턴을 가지고 설계를 할것인지)

∙ Model : 처리 관련 : DAO, DTO, Action 클래스 : .java

∙ View : 화면에 보여주는 부분 : .jsp (html,css등의 태그)

∙ Controller : Model과 View의 흐름을 제어 (스프링 이전에 할것임)

 

실습 : test2 테이블, dto, dao, form/pro(가입), viewer (전체목록출력)

pro : 두가지버전 request.getParameter("name속성값") > dao 매개변수 많이

<jsp:useBean, <jsp:setProperty > dao 매개변수 dto