Spring MVC/서블릿

[Spring MVC] 서블릿 - HttpServletRequest 개요

Boradoris 2023. 1. 25. 18:57

HttpServletRequest 역할

HTTP 요청 메시지를 개발자가 직접 파싱 해서 사용해도 되지만, 매우 불편할 것이다.
서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱 한다.
그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다.

 

HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다.

Http 요청 메시지

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

username=kim&age=20

 

  • Start Line
    • POST /save HTTP/1.1
      • HTTP 메서드
      • URL
      • 쿼리 스트링
      • 스키마, 프로토콜
  • 헤더
    • Host: localhost:8080
    • Content-Type: application/x-www-form-urlencoded
      • 헤더 조회
  • 바디
    • username=kim&age=20
      • form 파라미터 형식 조회
      • message body 데이터 직접 조회

 

HttpServletRequest 객체는 추가로 여러 가지 부가기능도 함께 제공한다.

 

임시 저장소 기능

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

 

세션 관리 기능

  • request.getSession(create: true)

 

 

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

 

https://lllskg1.tistory.com/category/HTTP

 

'HTTP' 카테고리의 글 목록

 

lllskg1.tistory.com

 


출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1