부스트코스 코딩일지/DB 연결 웹 앱

[부스트코스] scope - BE

valid_ming 2020. 3. 13. 14:01

 

 

Scope란?

 

 

변수를 사용할 때 변수가 유효한 범위를 알아두어야 합니다.

이것을 scope로 정리해 놓았는데요.

 

범위에 따른 scope에 대해 알아봅시다.

출처 http://inheritingjava.blogspot.kr/2011/04/chapter-42-scope-of-javabeans-in-jsp.html

 

[출처: https://www.edwith.org/boostcourse-web/lecture/16708/]

 

 

 

Page scope

 

 

가장 작은 범위인 page scope입니다.

PageContext 추상 클래스를 사용하여

 

pageContext.getAttribute()

pageContext.setAttribute(,)

와 같이 사용하면 됩니다.

 

 

[출처: https://www.edwith.org/boostcourse-web/lecture/16709/]

 

 

 

Request scope

 

 

http 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수값을 유지하고 싶을 때 사용합니다.

서블릿에서는 HttpServletRequest 객체를 사용하고 JSP에서는 request 내장 변수를 사용합니다.

 

forward 할 때 많이 사용하는 scope입니다.

 

 

[출처: https://www.edwith.org/boostcourse-web/lecture/16710/]

 

 

 

Session scope

 

 

웹 브라우저 별로 변수를 관리하고자 할 때 사용합니다.

웹 브라우저 안에 탭의 개념이 있습니다. 각각의 탭에서는 같은 세션정보를 사용할 수 있습니다.

 

혹은 사용자별 즉 클라이언트 별로 정보가 유지되어야 할 때 사용합니다.

사용 방법은 모두 같은 getAttribute()와 setAttribute()입니다.

 

서블릿에서는 HttpSession 인터페이스를 구현한 객체를 사용하고, JSP에서는 session 내장 변수를 사용합니다.

 

 

[출처: https://www.edwith.org/boostcourse-web/lecture/16711/]

 

 

 

Application scope

 

 

웹 애플리케이션이 시작되고 종료될 때까지 변수를 사용할 수 있습니다.

서블릿에서는 ServletContext 인터페이스를 구현한 객체를 사용합니다.

getServletContext() 메서드를 이용하여 application 객체를 이용하면 됩니다.

JSㅔdptjsms application 내장 객체를 이용하여 사용할 수 있습니다.

 

모든 클라이언트가 공통으로 사용해야 할 값들이 있을 때 사용합니다.

 

 

[출처: https://www.edwith.org/boostcourse-web/lecture/16712/]