서블릿, 서블릿 컨테이너

yshjft·2022년 9월 25일
0

Spring, JPA

목록 보기
4/16

서블릿

  • 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다.
  • 서블릿은 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다.

서블릿 컨테이너(Web Container)

  • 서블릿의 생명 주기를 관리
    • init() : 서블릿 초기화
    • service() : HTTP 요청 유형을 확인하고 맞게 doGet, doPost, doPut 등 메서드를 호출하여 요청 처리
    • destroy() : 서블릿 제거(was 종료시 호출)
  • 서블릿 객체도 싱글톤 으로 관리되기 때문에 최초 요청 시점에 서블릿 객체를 초기화해서 서블릿 컨테이너에 보관하고 이후에는 같은 서블릿을 공유해서 사용

서블릿 flow

요청 → 서블릿 컨테이너
→ HttpServletRequest, HttpServletResponse 객체 생성
→ 요청 URL을 분석하여 어느 서블릿에 대한 요청인지 찾고 서블릿 컨테이너에 존재하지 않으면 초기화하고 있다면 가져와서 service 메서드를 호출
→ service 메서드가 수행이 끝나면 HttpServletResponse 객체에 응답을 보낸다.
→ HttpServletRequest, HttpServletResponse 소멸

JSP(Java Server Page)

  • HTML 코드 안에 Java 코드가 존재
  • presentation(View)에 좋다.

JSP vs 서블릿

  • JSP
    • HTML 안에 Java 코드
    • 뷰 처리
  • 서블릿
    • Java 코드 안에 HTML
    • 로직 처리

WS vs WAS

  • WS
    • 웹 서버
    • 정적파일 제공
    • 로직 처리 없음
  • WAS
    • 웹 어플리케이션 서버
    • Web Server + Web Container
    • 로직 처리 담당(동적 페이지 담당)

참고

profile
꾸준히 나아가자 🐢

0개의 댓글