Dolphins의 HelloWorld

Request, Reponse 객체 이해하기 본문

웹 프로그래밍/웹 프로그래밍 기초

Request, Reponse 객체 이해하기

돌핀's 2018. 8. 13. 19:27


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


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


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


 - 생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달한다.




HttpServletRequest


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


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


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



HttpServletResponse


 - WAS는 어떤 클라리언트가 요청을 보냈는지 알고있고, 해당 클라이언트에게 응답을 보내기 위한


    HttpServletResponse 객체를 생성하여 서블릿에게 전달.


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



위의 설명을 읽어보면 대충 HttpServletRequest는 요청할 때 가지고있는 정보를 가지고있고


HttpServletResponse는 응답하기 위해 필요한 정보를 가지고있음을 알 수 있다.


예제를 통해 확인해보자.



request가 갖고있는 메서드중에 getHeaderNames()라는 메서드가 있다.


이 메서드는 모든 헤더 이름을 문자열 Enumeration 객체로 반환해준다.


while문을 활용해서 출력을 하나씩 다 해주면



다음과 같이 header 정보들을 확인할 수 있다.




피라미터 읽어 들이기


http://localhost:8080/firstweb/param?name=kim&age=5


라는 URL이 있을 때 ?을 기준으로 뒤에 있는 것들을 파라미터라고 한다.


중간에 &가 들어있는데 &는 기준점으로 &를 사용하면 더 많은 파라미터를 전달할 수 있다.


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


뒤에 있는 것은 파라미터 값을 의미한다.


예시를 통해 살펴보고 넘어가겠다.



이렇게 코드를 짜고 실행을 시키면



이렇게 null값이 나오는데 URL 부분을 보면 param으로 넘겨주는 인자가 없기 때문에 


당연한 결과이다.


URL에 param으로 넘겨줄 인자를 포함시키고 새로고침을 해보면



다음과 같이 우리가 원하는 결과가 나오는 것을 확인할 수 있다.




그 외의 요청정보 출력해보기.



URI, URL, PATH, Remote host등에 대한 정보를 출력해보자.








출처 : edwith

https://www.edwith.org/boostcourse-web/lecture/16689/

'웹 프로그래밍 > 웹 프로그래밍 기초' 카테고리의 다른 글

JSP 문법  (0) 2018.08.23
서블릿 라이프사이클  (0) 2018.08.13
Servlet 작성방법 2 (3.0 spec 미만)  (0) 2018.08.13
Servlet 작성방법 1 (3.0 spec 이상에서)  (0) 2018.08.13
Servlet 이란?  (0) 2018.08.13
Comments