HTTP 를 사용하려면 위의 사진처럼 상당히 많은 처리가 필요하다. 하지만 우리가 집중을 해야하는 곳은 중요한 비즈니스 로직인데 그 외의 업무에 너무 많은 비용이 발생하게 되면서 서블릿이라는 것을 사용하게 됐다. 서블릿은 HTTP 요청과 응답을 자동으로 생성해주고 관리해준다. 이 같은 동작은 서블릿 컨테이너라는 것을 통해 하는데 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 하며 동시 요청을 위한 멀티 쓰레드 처리도 지원해준다.
위에서 설명했듯이 서블릿은 HTTP 요청 메시지를 생성해주는데 그 결과를 HttpServletRequest
객체에 담아서 제공한다.
서버는 이 객체를 통해 여러 유용한 기능들을 편리하게 사용할 수 있다.
request.setAttribute(name, value)
request.getAttribute(name)
request.getSession(create: true)
위의 기능 외에도 상당히 많은 메서드들로 편의 기능을 제공하고 있다. 대부분의 헤더 정보와 바디 정보를 메서드 하나로 받을 수 있기 때문에 아주 편리하다. 모든 메서드들을 소개할 수는 없으니 필요한 메서드들을 때에 따라 찾아보기 바란다.