분류 전체보기 216

서블릿의 데이터베이스 연동하기

서블릿에서 데이터베이스와 연동하여 조회한 데이터를 얻은 후 클라이언트의 웹 브라우저로 응답하는 과정을 알아보자. 서블릿의 비즈니스 처리 기능을 이해하기 위해서는 데이터베이스 접근 명령어인 SQL 문을 미리 어느정도 학습해야 한다. 서블릿이 데이터베이스와 연동하는 과정 서블릿에서 데이터베이스 연동 과정은 자바에서의 데이터베이스 연동 과정과 같다. 클라이언트로부터 요청을 받은 서블릿은 SQL문을 사용해 데이터베이스에 접근하여 작업을 수행한다. 이 과정에서 DAO와 VO 클래스가 사용된다.

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

웹 프로그램은 클라이언트의 요청에 대해 비즈니스 처리 기능을 이용해 데이터 저장소에서 데이터를 조회한 후 서블릿의 응답 기능을 이용해 클라이언트에게 결과를 전송한다. 예를 들어 웹 도서 쇼핑몰에서 책 제목을 검색창에 입력하고 검색 버튼을 클릭하면 책 제목이 서블릿으로 전송되고 서블릿은 책 제목을 전송 받아 책 제목에 대한 정보를 데이터베이스 연동 기능을 이용해 조회한다. 그리고 조회한 결과를 서블릿 응답 기능을 이용해 클라이언트 브라우저에 전송하여 결과를 보여준다. 서블릿 비즈니스 처리 작업 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미함. 웹 프로그램에서 대부분의 비즈니스 처리 작업은 데이터베이스 연동 관련 작업이지만 그 외에 다른 서버와 연동해서 데이터를 얻는 작업..

애너테이션을 이용한 서블릿 매핑

web.xml에 여러 서블릿을 설정할 경우 복잡해진다는 단점이 있다. 이러한 단점을 각 서블릿 클래스에 기호(@)를 이용해서 서블릿 표시를 해주면 훨씬 가독성이 좋아지는데 이처럼 소스 코드에 직접 기능을 설정하는 방법을 애너테이션이라고 한다. 톰캣 7 버전부터는 서블릿 매핑을 web.xml 외에 애너테이션을 이용해 서블릿 클래스에 직접 설정할 수 있는 기능이 추가되었다. 두 가지 버전 다 많이 사용되지만 애너테이션을 이용하여 효율적으로 서블릿들을 매핑하는 방법을 알아보자. 애너테이션이 적용되는 클래스는 반드시 HttpServlet 클래스를 상속받아야 하고 애너테이션을 이용해 서블릿을 매핑하기 위해 @WebServlet을 이용하면 된다. 패키지 우클릭 -> New -> Servlet 선택 Class nam..

서블릿 동작 과정

여러 클라이언트가 서블릿을 요청했을 때의 서블릿 처리 과정 클라이언트1이 요청하면 톰캣은 FirstServlet이 메모리에 로드되어 있는지 확인 최초의 요청이므로 init( ) 메서드를 호출하여 FirstServlet 인스턴스를 메모리에 로드 doGet( )이나 doPost( ) 메서드를 호출하여 서비스 클라이언트2가 다시 동일한 서블릿을 요청하면 톰캣은 다시 FirstServlet이 메모리에 로드되어 있는지 확인 메모리에 있는 것을 확인하고 바로 doGet( )이나 doPost( ) 메서드를 호출하여 서비스 브라우저의 다른 탭에서 요청한 결과 스레드 방식으로 동작하기 때문에 최초 요청 시에만 init( ) 메서드를 호출한다. 이처럼 동일한 작업의 경우 서블릿은 메모리에 존재하는 서블릿을 재사용함으로써 ..

FirstServlet을 이용한 실습

사용자 정의 서블릿을 실제로 만들고 서블릿의 동작 과정을 실습해보자. 이클립스에서 서블릿을 만들고 실행하는 과정은 다음과 같다. 먼저 사용자 서블릿을 만들기 위해서는 아래 예시 코드와 같이 HttpServlet 클래스를 상속받아야 하고 3개의 생명주기 메서드, 즉 init(), doGet, destroy() 메서드를 오버라이딩하여 기능을 구현한다. // 사용자 정의 서블릿 작성 예시 코드 public class FirstServlet extends HttpServlet { @Override public void init() { ... } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) { ... } @Overrid..