HttpServletRequest, HttpServletResponse

eunsiver·2023년 2월 17일
0

HTTP

목록 보기
2/2
post-custom-banner

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

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

HttpServletRequest

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

HttpServletResponse

  • Servlet은 HttpServletResponse 객체에 Content Type, 응답코드, 응답 메시지 등을 담아서 전송함
  • .setHeader()을 통해 헤더를 세팅할 수 있다.

WAS에 Http URL 요청이 발행하면, Spring에서는 Servlet을 통해 해당 요청을 처리할 수 있었다.

Servlet 특징

  • 클라이언트의 request에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트
  • HTML을 사용하여 Response한다.
  • JAVA의 스레드를 이용하여 동작한다.
  • MVC 패턴에서의 컨트롤러로 이용된다.
  • HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다.
  • UDP보다 속도가 느리다.
  • HTML 변경 시 Servlet을 재 컴파일해야 하는 단점이 있다.

서블릿 컨테이너란?

서블릿 컨테이너란 말 그대로 서블릿을 담고 관리해주는 컨테이너입니다.

서블릿 컨테이너는 구현되어 있는 servlet 클래스의 규칙에 맞게 서블릿은 관리해주며 클라이언트에서 요청을 하면 컨테이너는 HttpServletRequest, HttpServletResponse 두 객체를 생성하며 post, get여부에 따라 동적인 페이지를 생성하여 응답을 보냅니다.

참고
https://coding-factory.tistory.com/742

profile
Let's study!
post-custom-banner

0개의 댓글