728x90
수업목표
웹 브라우저로부터 WAS가 요청을 받은 후, forward 되는 동안 유지하고 싶은 정보가 있을 경우 request scope 를 사용합니다. 이번 시간에는 request scope 에 대해 알아보도록 하겠습니다.
request scope 란?
http 요청을 WAS 가 받아서 웹 브라우저에게 응답할 때까지 변수값을 유지하고자 할 경우 사용합니다. WAS 앞선 예제에서 forward 를 했었는데요. forward 할 때 클라이언트가 요청을 보냈을 때 실제로 서블릿이 요청을 받았고 서블릿에서 로직을 수행하다가 request 라는 객체에 값을 담아둔 다음 forward 를 jsp 에게 했을 때 jsp 는 맡겨놓은 값을 가져다가 사용할 수 있었습니다. 이때 사용했던 requestDispatcher 객체 자체가 HttpServletRequest 라는 객체이고 request scope 입니다. 모든 요청이 들어올 때 WAS 는 request, response 라는 객체를 만든다고 했었습니다. 그리고 이것들의 인자를 서블릿의 인자로 넣어주게 됩니다. 따라서 A servlet 이나 B servlet 이나 같은 request, response 객체를 갖게 되는 것이죠. 그리고 request 와 response 객체는 응답이 나가게 되면 자동으로 소멸됩니다. 결국 정리하자면 request scope 란 요청이 들어온 다음 응답이 나갈 때 까지 유지되는 객체라고 이해할 수 있습니다.
JSP 에서는 request 의 내장 변수를 사용하여 값을 받아오고 servlet 에서는 HttpServletRequest 객체를 사용하여 클라이언트의 요청을 담는다. 우리가 이미 해봤듯이 값을 저장할 때는 request 객체의 setAttribute 메서드를 사용하며 값을 읽어들일 때는 request 객체의 getAttribute 메서드를 사용합니다. 이런 request scope 객체들은 forward 시 값을 유지하고자 주로 사용합니다.
출처 : boostcourse 웹 프로그래밍(풀스택)
https://www.boostcourse.org/web316/lecture/20655?isDesc=false
'[Boostcourse] 풀스택 > 웹 프로그래밍(풀스택)' 카테고리의 다른 글
| application scope { ServletContext } (0) | 2023.07.17 |
|---|---|
| session scope { } (0) | 2023.07.17 |
| page scope { PageContext } (0) | 2023.07.17 |
| scope 란? (0) | 2023.07.17 |
| Servlet & jsp 연동 { el & jstl 의 등장 배경, forwarding 활용 } (0) | 2023.07.17 |