4가지 SCOPE 영역

Jaeho Kim·2022년 7월 26일
0

Java

목록 보기
1/2

💡 스코프란 무엇인가?

Servlet과 JSP 환경에서 개발을 하다보면 필연적으로 변수를 다루게 되는데,
이 변수를 다루기위한 영역 구분을 크게 4가지로 나뉘어서 구분합니다.

  • application scope
  • session scope
  • request scope
  • page scope

정보의 종류에 따라서 필요한 영역이 다르기 때문입니다.


pageScope

  • 해당 페이지가 실행되는 동안만 유지되는 영역입니다.
  • PageContext 추상 클래스를 사용합니다.
  • forward의 경우 해당 Page scope에 지정된 변수는 사용할 수 없습니다.
  • ${변수명} 으로 사용합니다.

request scope

  • http 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수값을 유지하고자 할 경우 사용한다.
  • HttpServletRequest 객체를 사용한다.
  • JSP에서는 request 내장 변수를 사용한다.
  • 값을 저장하고 꺼낼때는 requset 객체의 setAttribute(), getAttribute() 메소드를 이용한다.
  • forward시에 값을 유지한다.

sessionScope

  • 웹 브라우저별로 변수를 관리하고자 할 경우에 사용한다. ( 해당 객체가 소멸될때까지 사용 가능 )
  • 하나의 브라우저당 1개의 session 객체가 생성된다.
  • 서로 다른 브라우저 내에 요청되는 페이지들은 같은 객체를 공유하게 된다.

Sesison이 무엇인가.. ?

  • 일정 시간동안 같은 사용자(정확하게 브라우저를 말함)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술이라고 한다. 또한 여기서 말하는 일정 시간이란, 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료함으로써 연결을 끝내는 시점을 말한다.

그러면..

Cookie는 무엇인가..?

  • 쿠키의 경우는 방문자의 정보를 방문자 컴퓨터의 메모리에 저장하는 것을 말한다

쿠키 : 방문자 컴퓨터 메모리에 저장
세션 : 서버에 저장


applicationScope

  • 서버가 가동되는 순간부터 서버가 종료되는 순간까지의 모든 범위를 말합니다.
  • 이 시간동안 사용할 수 있는 메모리 영역이 만들어지며 ServletContext라는 클래스 타입의 객체로 관리됩니다.
  • ServletContext에 저장된 데이터나 객체는 서버가 종료되기 전까지 서버는 웹브라우저에 관계없이 동일한 메모리 공간을 사용하게 된다.

profile
Hello, World!

0개의 댓글