커넥션 풀
온라인 쇼핑몰의 경우 동시에 수십에서 수백명까지 접속해서 조회, 주문등 다양한 기능을 사용하는데 앞의 방법처럼 데이터 베이스와 연동해 작업해야 한다면 너무 비효율적입니다.
이 문제를 해결하기 위해 현재는 웹 어플리케이션이 실행됨과 동시에 연동할 데이터베이스와의 연결을 미리 설정해둡니다.
이렇게 미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션 풀 (ConnectionPool)이라고 부릅니다.
JNDI
실제 웹 어플리케이션에서 ConnectionPool 객체를 구현할 때는 Java SE에서 제공하는 javax.sql.DataSource 클래스를 이용합니다.
그리고 웹 어플리케이션 실행 시 톰캣이 만들어 놓은 ConnectionPool 객체에 접근할 때는 JNDI를 이용합니다.
JNDI란 필요한 자원을 키/값 쌍으로 저장한 후 필요할 때 키를 이용해 값을 얻는 방법입니다.
아래와 같이 Servers에 들어가서 context.xml을 찾고 우측과 같이 코딩을 합니다
username과 password 는 본인이 아이디와 비밀번호를 넣어주시면 됩니다.
이제 설정을 마쳤으니 클래스를 만들어 연동해 보겠습니다.
sec02.ex01 패키지를 만들고 앞에서 사용한 MemberDAO, MemberServlet, MemberVO 클래스를 복사하겠습니다.
MemberDAO클래스에서 서블릿 매핑 이름을 /member2 로 바꿔줍니다.
아래의 import는 코딩하시면서 해주셔야 합니다. 단축키(ctrl+ shift +o)
아래에 주석처리된 부분은 저희가 커넥션 풀을 이용하였기 때문에 주석처리를 해줍니다.
앞에서 한 것과 결과는 같지만 이번에는 커넥션 풀을 이용해서 데이터베이스와 연동했다는 점에서 차이가 있습니다.
'2020 > JSP SERVLET' 카테고리의 다른 글
JSP SERVLET forward(포워드) (0) | 2019.11.29 |
---|---|
DataSource 회원 정보 등록 (0) | 2019.11.29 |
JSP/SERVLET PrepareStatement로 회원 정보 불러오기 (0) | 2019.11.28 |
서블릿으로 회원 정보 테이블 조회 #2 (1) | 2019.11.27 |
서블릿으로 회원 정보 테이블 조회 #1 (0) | 2019.11.27 |