면접 - 스프링프레임워크

개발자 면접 질문 - 서블릿(Servlet) 정의

snow-line 2020. 12. 3. 20:51
반응형

1. 서블릿(Servlet)

 - 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술

 

2. 특징

 - 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트

 - html을 사용하여 요청에 응답

 - Java Thread를 이용하여 동작

 - MVC 패턴에서 Controller로 이용된다.

 

3. 동작 방식

 - 사용자가 URL을 클릭하면 HTTP Request를 Servlet Container로 전송

 - HTTP Request를 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체를 생성

 - web.xml은 사용자가 요청한 URL을 분석하여 어떤 서블릿에 대한 요청인지 검색

 - 해당 서블릿에서 service 메소드를 호출한 후 클라이언트의 POST / GET 여부에 따라 doGet() 또는 doPost() 호출

 - doGet() or doPost()메서드는 동적 페이지를 생성한 후 HttpServletResponse 객체에 응답을 전송

 - 응답이 끝나면 HttpServletRequest, HttpServletResponse 객체를 소멸

 

4. 서블릿 컨테이너

 - 서블릿을 관리해주는 컨테이너

 

5. 서블릿 컨테이너 역할

 - 웹 서버와의 통신 지원

 - 서블릿 생명주기 관리

 - 멀티쓰레드 지원 및 관리

 - 선언적인 보안 관리

반응형