Web/Spring

Application Scope

느낌표 공장장 2021. 6. 24. 16:47

Application Scope

 

하나의 웹 애플리케이션에서 공유하고 싶은 변수가 있을 때 사용한다.

 

 

✔︎ 웹 어플리케이션 하나당 하나의 application객체가 사용된다.

  • ! 하나의 서버에는 웹 애플리케이션이 하나만 존재하는 것이 아니라 여러 개 존재할 수 있다.
  • application scope은 이 하나의 웹 어플리케이션 내에 객체 하나라고 생각하면 됨
  • 하나의 웹 어플리케이션 내에서는 다 이 객체 여기다가 뭔가 값을 저장하고 사용할 수 있는 영역이라고 이해하면 쉽다.

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

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

  • ⚠︎ 주의할 점 ⚠︎
  • application 영역에 값을 맡겨놨기 때문에 이 웹 애플리케이션 내에 있는 JSP, 서블릿 등 누가 됐든 이 application 영역에 맡겨놓은 값이 존재한다면 저 값들(JSP, 서블릿 등)이 다 똑같은 영역에 가서 참고할 것이기 때문에 계속 같은 아이가 공유가 된다.

✔︎ ServletContext 인터페이스를 구현한 객체를 사용한다.

✔︎ JSP에서는 application 내장 객체를 이용한다.

  • jsp는 내장 객체가 여러개 있는데, 이미 servletcontext로 얻어낸 이 객체를 가리키고 있는 변수가 application이라고 약속해놓은 것. 그래서 이 application이라는 예약된 이 객체를 이용해 사용하면 된다. 
  • 값을 저장할 때 : application.setAttribute()
  • 값을 읽어들일 때 : application.getAttribute()

✔︎ 서블릿의 경우는 getServletContext() 메서드를 이용하여 application객체를 이용한다.

 

 

 


참조

부스트 코스 - 웹 프로그래밍 강의를 바탕으로 제작된 게시물입니다.

https://www.boostcourse.org/web316/lecture/16709?isDesc=false 

'Web > Spring' 카테고리의 다른 글

스프링 웹 개발 기초(정적 컨텐츠, MVC와 템플릿 엔진, API)  (0) 2021.07.24
스프링 프로젝트 환경설정  (0) 2021.07.20
Session Scope  (0) 2021.06.24
request scope  (0) 2021.06.24
Page scope  (0) 2021.06.24