HttpServletRequest, HttpServletResponse에 대한 이해

이용만·2022년 5월 6일
0

HttpServlet
HTTP 프로토콜을 사용하는 웹 브라우저에서 서블릿 기능을 수행한다.
따라서 개발자는 HttpServlet을 상속받아 많은 기능을 사용할 수 있다.
WAS가 웹브라우저로부터 Servlet 요청을 받으면
요청 받을 때 전달 받은 정보를 HttpServletRequest 객체를 생성해서 저장한다.
웹브라우저에 응답을 반환할 HttpServletResponse 객체를 생성한다. (응답을 담기 전 빈 객체)
생성된 HttpServletRequest, HttpServletResponse 객체를 Servlet에 전달한다.

Servlet
WAS에서 동적 웹페이지 구현을 할 수 있도록 도와주는 자바 클래스의 일종 (프로그래밍 기술)
서블릿 관련 추상 메서드를 제공하는 인터페이스
Servlet 덕분에 개발자는 의미있는 비즈니스 로직에 집중할 수 있다.
EX. init(), service() 등

WAS
웹 애플리케이션 서버(WAS, Web Application Server).
웹 서버 + 웹 컨테이너
인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)이다.
웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되고, 주로 데이터베이스 서버와 같이 수행이 된다. 웹 서버 + 웹 컨테이너로 웹 상에서 사용하는 컴포넌트를 올려놓고 사용하게 되는 서버이다. 여기서 웹 컨테이너랑, JSP와 Servlet을 실행시킬 수 있는 소프트웨어를 웹 컨테이너라고 한다.

WAS가 웹브라우져로부터 Servlet요청을 받으면

  1. 요청을 받을 때 전달 받은 정보를 HttpServletRequest객체를 생성하여 저장
  2. 웹브라우져에게 응답을 돌려줄 HttpServletResponse객체를 생성(빈 객체)
  3. 생성된 HttpServletRequest(정보가 저장된)와 HttpServletResponse(비어 있는)를 Servlet에게 전달

HttpServletRequest
1. Http프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용
2. Header정보, Parameter, Cookie, URI, URL 등의 정보를 읽어들이는 메소드를 가진 클래스
3. Body의 Stream을 읽어들이는 메소드를 가지고 있음

HttpServletResponse
1. Servlet은 HttpServletResponse객체에 Content Type, 응답코드, 응답 메시지 등을 담아서 전송함

0개의 댓글