Roel Notebook

[Servlet] 서블릿이란?, Lifecycle, 요청(request), 응답(response)

by Roel Downey

Web

728x90
반응형

서블릿이란?

자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할이다.

서블릿을 정의해보면 서블릿(servlet)은 WAS에 동작하는 JAVA 클래스이다.

서블릿은 HttpServlet 클래스를 상속받아야 한다.

서블릿과 JSP로부터 최상의 결과를 얻으려면, 웹 페이지를 개발할 때 이 두 가지(JSP, 서블릿)를 조화롭게 사용해야 한다.

예를 들어, 웹 페이지를 구성하는 화면(HTML)은 JSP로 표현하고, 복잡한 프로그래밍은 서블릿으로 구현합니다.


< 자바 웹 어플리케이션의 구조 >

자바 웹 어플리케이션에서는,

WEB-INF 폴더web.xml 파일이 상당히 중요한 구성요소입니다.

web.xml 파일은 배포 기술자라고 하는데, 이 웹 애플리케이션에 대한 정보를 다 가지고 있다.

servlet 3.0 이하의 버전에서는 모두 가지고 있었고, 그 이후의 버전에서는 어노테이션 이 대신하고 있다.

 

서블릿 3.0 이전 버전은 서블릿을 등록할 때, web.xml 파일을 사용하지만

 

 

서블릿 3.0 이상 버전은 서블릿을 등록할 때, 어노테이션을 사용한다.

 

 


 

- 서블릿의 Lifecycle Servlet 알아보자.

 

HttpServlet의 3가지 메소드를 오버라이딩

  • init() : 서블릿이 처음 호출될 때, 호출되는 메소드 , Initialization 
  • service(request, response) : request 들어왔을 때, response 해야하는 모든 내용을 service 에서 구현한다.
  • destroy() : 서블릿이 종료되거나 새로 갱신될 때 호출되는 메소드

 


 

- Web HTTP 요청(request), 응답(response) 에 대해서 알아보자. 

요청과 응답

WAS는 웹 브라우저로부터 Servlet요청을 받으면,

  • 요청할 때 가지고 있는 정보를 HttpServletRequest객체를 생성하여 저장한다.
  • 웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse객체를 생성한다.
  • 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달한다.

 

HttpServletRequest

  • http프로토콜의 request정보를 서블릿에게 전달하기 위한 목적으로 사용한다.
  • 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있다.
  • Body의 Stream을 읽어 들이는 메소드를 가지고 있다.

 

HttpServletResponse

  • WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServleResponse객체를 생성하여 서블릿에게 전달한다.
  • 서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답 메시지등을 전송한다.

 

 

 

 

 

 

728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기