서블릿, HttpServletRequest

이연희·2022년 7월 15일
0

Spring

목록 보기
88/105

서블릿

서블릿 컨테이너 동작 방식

  • 스프링 부트실행
  • 내장 톰캣 서버를 띄움
  • 서블릿 컨테이너를 통해 서블릿을 생성
  • 서블릿 컨테이너안에 helloServlet이 생성됨

HTTP 요청

GET /hello?username=yeonhee HTTP/1.1
Host: localhost:8080

HTTP 응답

HTTP/1.1 200 OK
Content-Type: text/plain;charset=utf-8
Content-Length: 11

hello world

  • localhost:8080/hello 요청이 들어온다.
  • request, response 객체를 만들어서 서블릿 컨테이너의 helloServlet을 호출한다.
  • 서비스 메서드를 호출하면서 request, response를 넘겨준다.
  • 필요한 작업을 하고 response 데이터에다가 종료되며 나가면서 WAS 서버가 response 정보를 가지고 HTTP 응답을 생성한다.
  • 생성한 응답을 웹브라우저에서 볼 수 있다.

HttpServletRequest

HTTP 요청 메세지를 편리하게 사용할 수 있도록 HTTP 요청 메세지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.

HTTP 요청 메세지

POST /save HTTP/1.1
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded

username=yeonhee&age=25

임시 저장소 기능

요청 메세지는 클라이언트의 요청이 들어오고 응답이 나갈 때까지가 생존 범위

  • 해당 HTTP 요청 시작부터 끝날 때까지 유지되는 임시 저장소 기능
  • 저장: request.setAttribute(name,value)
  • 조회: request.getAttribute(name)

세션관리

  • request.getSession(create: true)

중요 포인트

HttpServletRequest, HttpServletResponse를 사용할 때 중요한 점은 이 객체들이 HTTP 요청 메세지, HTTP 응답 메세지를 편리하게 사용하도록 도와주는 객체라는 점이다. 따라서 이 기능에 대해 깊이있는 이해를 하려면 HTTP 스펙이 제공하는 요청, 응답 메세지 자체를 이해해야 한다.

profile
공부기록

0개의 댓글