[1] 강의
웹 프로그래밍(풀스택)
5. Servlet - BE
4) Request, Response 객체 이해하기-1
[2] 개념 정리
Request, Response 이해하기
요청과 응답
- WAS는 웹 브라우저로부터 Servlet요청을 받으면,
요청할 때 가지고 있는 정보를 HttpServletRequest객체를 생성하여 저장합니다.
웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse객체를 생성합니다.
생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달합니다.
- HttpServletRequest
http프로토콜의 request정보를 서블릿에게 전달하기 위한 목적으로 사용합니다.
헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있습니다.
Body의 Stream을 읽어 들이는 메소드를 가지고 있습니다.
- HttpServletResponse
WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServleResponse객체를 생성하여 서블릿에게 전달합니다.
서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답 메시지등을 전송합니다.
[3] 강의 정리
이번 시간에는 HttpServletRequest와 HttpServletResponse라는 객체에 대해서 알아보도록 하겠다. 웹 브라우저에 URL을 입력하고 Enter를 입력하면 웹 브라우저는 도메인과 포트 번호를 이용해서 서버에 접속한다. 그리고 나서 path 정보, 클라이언트의 IP, 클라이언트의 다양한 정보를 포함한 요청 정보를 서버에게 전송하게 됩니다. 자바 프로그래밍을 공부하다 보면 객체 지향이라는 용어가 자주 나오는데. 여기에서 객체란 관련된 정보를 모아서 가지고 있는 것이 특징이다. 클라이언트로부터 요청이 들어오면 WAS는 어떤 일을 하게 되냐면 HttpServletRequest라는 객체와 HttpServletResponse라는 객체를 생성한다. HttpServletRequest 객체에는 요청할 때 가지고 들어온 다양한 정보들. 이런 정보들을 객체에 담는다. 그리고 이 HttpServletResponse라는 객체는 현재 접속한, 현재 이 요청을 보낸 클라이언트다. 이 클라이언트에게 전송하기 위해서 담을 수 있는, 정보를 담을 수 있는 객체에 HttpServlet Response 객체를 생성해 준다.
이렇게 생성된 두 개의 객체를 요청 정보에 있는 path로 매핑된 서블릿에게 전달을 하게 된다. 이렇게 전달된 객체는 service(), doGet(), doPost() 같은 매서드에 파라미터로 전달돼서 사용하게 된다. HttpServletRequest는 HTTP 프로토콜의 request 정보를 서블릿에게 전달하기 위한 목적으로 사용한다. 헤더 정보라던가 파라미터 정보, 쿠키, URL, URI 이런 정보, 요청할 때 가지고 있는 정보들을 모두 메서드로 담는다. 심지어는 이 브라우저를 그러니까 요청한 사용자가 어떤 언어를 사용하고 있느냐 이런 등등에 대한 정보들까지 담는다. 그리고 바디의 stream을 읽어들이는 이런 메서드도 가지고 있다. 또한 HttpServletResponse라는 객체는 WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고 해당 클라이언트에게 응답을 보내기 위해서 HttpServletResponse라는 객체를 생성해서 서블릿에게 전달하게 된다. 서블릿은 이 객체를 이용해서 content type이라던가 응답 코드, 응답 메시지 등을 전송할 수 있게 된다.
'강의 > 웹 프로그래밍(풀스택)' 카테고리의 다른 글
부스트코스 웹 프로그래밍(풀스택) - 1. 웹 프로그래밍 기초 - 5-4-3 강의 정리 (0) | 2022.04.16 |
---|---|
부스트코스 웹 프로그래밍(풀스택) - 1. 웹 프로그래밍 기초 - 5-4-2 강의 정리 (0) | 2022.04.16 |
부스트코스 웹 프로그래밍(풀스택) - 1. 웹 프로그래밍 기초 - 5-3-2 강의 정리 (0) | 2022.04.16 |
부스트코스 웹 프로그래밍(풀스택) - 1. 웹 프로그래밍 기초 - 5-3-1 강의 정리 (0) | 2022.04.14 |
부스트코스 웹 프로그래밍(풀스택) - 1. 웹 프로그래밍 기초 - 5-2-3 강의 정리 (0) | 2022.04.14 |