[Servlet] 서블릿이란?, Lifecycle, 요청(request), 응답(response)
by Roel Downey728x90
반응형
서블릿이란?
자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할이다.
서블릿을 정의해보면 서블릿(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
반응형
'Web' 카테고리의 다른 글
[Web] redirect, forward, Servlet과 JSP연동 (0) | 2020.05.19 |
---|---|
[Web] Apache Tomcat Version 확인 (0) | 2020.05.12 |
[IDE] IntelliJ에서 mustache 인식 안될때 (0) | 2020.05.03 |
[Web] javax.servlet import 오류 해결 방법 (4) | 2020.04.29 |
[Web] 웹 프로그래밍 용어 정리 (0) | 2020.04.27 |
블로그의 정보
What doing?
Roel Downey