서블릿 비즈니스 로직 처리

조예빈·2024년 5월 4일

Servlet

목록 보기
7/10

서블릿의 비즈니스 로직 처리방법

  • 웹 프로그램은 클라이언트의 요청에 대해 비즈니스 처리 기능을 이용해 데이터 저장소에서 데이터를 조회한 후 서블릿의 응답 기능을 이용해 클라이언트에게 결과를 전송함
    ex)
    1. 온라인 서점에서 책 제목을 검색창에 입력 + 검색 버튼을 누름
    2. 책 제목이 서블릿으로 전송됨(프론트에서 책 제목을 받아와 백으로 넘김)
    3. 서블릿은 책 제목을 전송받아 책에 대한 정보를 DB 연동 기능을 이용해 조회
    4. 조회한 결과를 서블릿 응답 기능을 이용해 클라이언트 브라우저에 전송하여 결과를 보여줌

서블릿 비즈니스 처리 작업

  • 서블릿이 클라이언트로부터 요청을 받아 그 요청에 대해 작업을 수행하는 것
  • DB 연동 작업(대부분)
  • 다른 서버와 연동해 데이터를 얻는 작업
    ex) 웹 사이트 회원 등록 요청 작업, 로그인 요청 처리 작업, 쇼핑몰 상품 주문 처리 작업
  1. 클라이언트로부터 요청을 받음
  2. DB 연동과 같은 비즈니스 로직을 처리
  3. 처리 결과를 클라이언트에게 돌려줌


출처 : 자바 웹을 다루는 기술 책

DataSource를 이용해 DB 연동하기

  • 위의 사진처럼 필요할 때마다 DB를 연동해서 작업하면 DB 연결에 시간이 많이 걸리고, 비효율적이다
  • 그래서 현재는 웹 애플리케이션이 실행됨과 동시에 연동할 DB와의 연결을 미리 설정해 두고, 필요 시 미리 연결해 둔 것을 통해 DB와 연동해 작업한다 -> 커넥션 풀

ConnetionPool(커넥션풀)

  • 미리 DB와 연결시킨 상태를 유지하는 기술
  • 동작 과정
    1. 톰캣 컨테이너를 실행한 후 응용프로그램을 실행
    1. 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성
    2. 생성된 커넥션 객체는 DBMS와 연결
    3. DB와의 연동 작업이 필요할 경우 응용 프로그램은 ConnectionPool에서 제공하는 메소드를 호출하여 연동
  • ConnectionPool 객체 구현 : javax.sql.DataSource 클래스 이용
  • ConnectionPool 객체 접근 : JNDI(Java Namimg and Directory Interface, 필요한 자원을 key-value 쌍으로 저장한 후 필요시 키를 이용해 값을 얻는 방법) -> 미리 접근할 자원에 key를 지정한 후 애플리케이션이 실행 중일 때 key를 통해 자원에 접근해서 작업하는 것

JDBC 드라이버를 /test/src/main/webapp/WEB-INF/lib 안에 설치해주어야 한다.

톰캣 서버의 설정 파일 위치

context.xml 파일에서의 < Resource > 태그로 톰캣 실행 시 연결할 DB를 설정함

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글