본문 바로가기
Progamming/BoostCourse

Request, Response 객체 이해하기

by 동그란 혜주 2019. 1. 17.
  • 들어가기 전에

클라이언트가 서버에게 보낸 요청을 추상화한 객체 HttpServletRequset 와 서버가 클라이언트에게 응답하기 위한 정보를 추상화한 객체 HttpServletResponse에 대해 알아보자.




  • 학습 목표

1. HttpServletRequest 객체를 이해한다.

2. HttpServletResponse 객체를 이해한다.




  • 핵심 개념

- HttpServletRequset

- HttpServletResponse




  • 요청과 응답

- 웹 브라우저에 URL을 입력하고 Enter를 입력하면, 웹 브라우저는 도메인과 포트 번호를 이용해 서버에 접속한다. 그리고 나서 path 정보, 클라이언트의 IP, 클라이언트의 다양한 정보를 포함한 요청 정보를 서버에게 전송하게 된다.

- WAS는 웹 브라우저(클라이언트)로 부터 Servlet 요청을 받으면

· 요청할 때 가지고있는 정보를 HttpServletRequest 객체를 생성하여 저장

· 웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse 객체를 생성

· 생성된 HttpServletRequest, HttpServletResponse 객체를 요청 정보에 있는 path로 매핑된 서블릿에 전달

· 이렇게 전달한 객체는 service(), doGet(), doPost() 같은 메서드에 파라미터로 전달되어서 사용하게 된다.




  • HttpServletRequest

- http 프로토콜의 request 정보를 서블릿에 전달하기 위한 목적으로 사용

- 헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고있다.

- Body의 Stream을 읽어 들이는 메소드를 가지고있다.




  • HttpServletResponse

- WAS는 어떤 클라이언트가 요청을 보냈는지 알고있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServletResponse 객체를 생성하여 서블릿에게 전달

- 서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답메시지 등을 전송




  • 헤더 정보 읽어 들이기

- 웹 브라우저가 요청정보에 담아서 보내는 header값을 읽어 들여 브라우저 화면에 출력한다.

- http://localhost:8080/firstweb/header

- package name : examples

- class name : HeaderServlet

- url mapping : /header




  • 파라미터 읽어 들이기

- URL 주소의 파라미터 정보를 읽어들여 브라우저 화면에 출력한다.

- http://localhost:8080/firstweb/param?name=woo&age=24

· ?를 기준으로 뒤에 있는 것들이 파라미터

· &를 기준으로 각각 다른 파라미터

· =을 기준으로 앞에 있는 것은 파라미터 이름, 뒤에 있는 것은 파라미터 값

- package name : examples

- class name : ParameterServlet

- url mapping : /param




  • 그 외의 요청정보 출력

- URI, URL, PATH, Remote host 등에 대한 정보 출력

- http://localhost:8080/firstweb/info

· URL : 요청 주소 전체

· URI : 웹 어플리케이션과 매핑된 path

- package name : examples

- class name : InfoServlet

- url mapping : /info

'Progamming > BoostCourse' 카테고리의 다른 글

자바스크립트 비교-반복-문자열  (0) 2019.01.19
자바스크립트 변수-연산자 타입  (0) 2019.01.19
Servlet 라이프 싸이클  (0) 2019.01.16
Servlet 작성 방법  (0) 2019.01.16
Servlet이란?  (0) 2019.01.16

댓글