Coding Planet

[Servlet/JSP] 내장 객체와 범위(scope), 내장 객체의 우선순위 본문

Server

[Servlet/JSP] 내장 객체와 범위(scope), 내장 객체의 우선순위

jhj.sharon 2023. 3. 21. 18:15
반응형

 

 

Servlet/JSP에는 기본적으로 내장되어 있는 4가지 객체가 존재한다.
4종류의 객체는 각각 영향을 미칠 수 있는 범위가 다르다.

 

 

 

1. 내장 객체와 범위(scope)

 

1. page 

  • 현재 Serlvet 혹은 JSP에만 사용 가능하다. 즉, 유효범위가 1페이지이다.
      

2.request 

  • 요청받은 페이지(Servlet/JSP)
  • 요청을 위임 받은 페이지(Servlet/JSP)
  • 최소 2페이지 이상 가능

3. session 

  • 현재 사이트에 접속한 브라우저당 1개씩 생성
  • 브라우저가 종료되거나 session이 만료될 때까지 유효.
  • 세션에 로그인 정보 기록->브라우저 종료, 로그아웃 전까지 유효

 4. application

  • 하나의 웹 어플리케이션 당 1개만 생성
  • 프로그램 서버 시작 시 생성되고 종료될 때까지 유효
  • 누구든지 사용 가능

 

 

 

 

2. 내장 객체의 우선순위

  • ${key }만 작성하는 경우 범위가 작은 내장 객체가 높은 우선순위를 갖게 된다.

  즉, 내장 객체의 우선순위는  page >  request > session > application 이다.

 

 

 

 

👀 Servlet 파일에서 각 내장 객체의 key 값을 동일하게 설정하고 JSP 에서 사용할 경우를 살펴보자

 

JSP 파일에서 동일한 key값 str를 사용하는 방법
웹 페이지에 출력된 모습

  • 각 내장객체의 값을 정확히 가져오기 위해서는 내장객체명Scope.key값을 이용해야한다. 이렇게 정확히 경로를 설정하면 위의 페이지와 같이 각각의  value 를 가져온다.
  • 하지만 ${str } 처럼 중복된 키 값만을 입력할 경우 가장 작은 범위의 내장객체인 page의 value값이 출력된다
반응형
Comments