HttpServlet 개념 -1)

choi0·2023년 5월 18일
0

WebStudy

목록 보기
1/1
post-thumbnail

HttpServlet이란 ?

HttpServlet은 Get/Post 등에 맞게 doGet(), doPost() 등의 메소드를 제공한다.
개발자들은 본인에게 필요한 메소드를 오버라이드하는 것만으로도,
GET/POST 방식 처리를 나누어 처리할 수 있다.

HttpServlet을 상속받은 클래스 객체는 톰캣과 같은 WAS의 내부에서 자동으로 객체를
생성하고 관리
하기 때문에 개발자가 객체 관리에 신경 쓸 필요가 없다.

HttpServlet은 멀티 스레드에 의해서 동시에 실행될 수 있도록 처리되기 때문에
개발자는 동시에 많은 사용자를 어떻게 처리해야 하는지에 대한 고민을 줄일 수 있다.

HttpServlet의 라이프사이클

서블릿은 기본적으로 요청(Request)을 처리해서 응답(Response)을 목적으로 설계됨
다만, 서블릿은 웹이라는 특수한 환경으로 인해 개발자가 직접 객체를 생성하는 대신
톰캣에서 객체들을 관리한다.
→ 이 때문에, 톰캣은 서블릿 컨테이너라는 의미로 바라볼 수 있음

① 브라우저가 톰캣에 서블릿이 처리해야 하는 특정한 경로를 호출
② 톰캣은 해당 경로에 맞는 서블릿 클래스를 로딩하고 객체를 생성 (하나만 생성)
이 과정에서, init() 라는 이름의 메소드를 실행해서 서블릿 객체가 동작하기 전
수행해야 하는 일들을 처리할 수 있다.
③ 서블릿 객체는 브라우저의 요청에 대한 정보를 분석해서 GET/POST 등의 정보와 함께
전달되는 파라미터들을 HttpServletRequest라는 타입의 파라미터로 전달받는다.
이 과정에서 응답을 처리하는 데 필요한 기능들은 HttpServletResponse라는 타입의 객체로
전달 받는다.
④ doGet(), doPost() 등의 메소드를 실행한다.
⑤ 톰캣이 종료될 때는 서블릿의 destroy() 라는 메소드를 실행
* init과 destroy는 한 번씩만 호출되고 doGet/doPost는 동일한 객체를 이용해 여러 번 호출됨

profile
새싹 개발자🌱

0개의 댓글