서블릿 프로그래밍

BRINCE·2022년 9월 30일
0

스프링 스터디

목록 보기
5/10

22-09-30

CGI 프로그램과 서블릿

CGI ( Common Gateway Interface )

  • 웹서버와 애플리케이션 사이에 데이터를 주고받는 규약
  • CGI 규칙에 따라서 만들어진 프로그램을 CGI프로그램이라고 함
    • CGI 프로그램 종류로는 컴파일 방식(C,C++,JAVA 등) 과 인터프리터 방식(PHP,Python 등) 이 있다.

인터프리터 방식 CGI 프로그램

웹 서버 ↔ Script Engine (Script파일 해석 해서 넘겨줌) ↔ Script 파일

서블릿과 서블릿 컨테이너

웹 서버 ↔ Servlet Container ↔ Servlet 파일

개발자는 더이상 CGI규칙에 대해서 알 필요가 없다 (서블릿 컨테이너와 서블릿 파일 사이의 규칙을 알고있어야 한다.)

서블릿

Server+Applet : Servlet

동적인 웹페이지를 구현하기 위한 표준

서블릿 컨테이너

컨테이너 : 라이프 사이클을 관리한다고 하면 컨테이너 라는 표현을 사용함.

서블릿 컨테이너 : 서블릿의 생성부터 소멸까지의 라이프 사이클을 관리하는 역할

서블릿 컨테이너는 웹 서버와 소켓을 만들고 통신하는 과정을 대신 처리해준다. (WAS 만드는 과정을 대신해주는 역할) → 개발자는 비즈니스 로직에만 집중하면 된다 .

비즈니스 로직(도메인 로직 또는 애플리케이션 로직)이란 프로그램의 핵심 로직
을 뜻합니다. 즉, 어떻게 데이터가 생성되고 저장되고 수정되는지를 정의한 것이 바로 비즈니스 로직이라고 할 수 있다.

서블릿 객체들은 싱글톤 으로 관리된다. (인스턴스 하나만 생성하여 공유하는 방식)

  • 상태를 유지하게 설계하면 안된다.
  • Thread safety 하지 않음

WAS vs Servlet Container

  • WAS 는 서블릿 컨테이너를 포함하는 개념
  • WAS 는 매 요청마다 스레드풀에서 기존 스레드를 사용한다.
  • WAS 의 주요 튜닝 포인트는 스레드풀의 수 (스레드를 몇개를 사용할것인지)
  • 대표적인 WAS 로는 톰캣이 있다.
profile
자스코드훔쳐보는변태

0개의 댓글