본문 바로가기
프로그래밍/웹개발(WEB)

[WEB 기초] 객체범위(scope)

by imfireguy 2020. 9. 24.
반응형

목차

 - 객체범위

 - Page 영역

 - Request 영역

 - Session 영역

 - Application 영역

[WEB개발 기초]  객체범위(scope)

 

웹(web)개발에서 처음 기초로 객체 범위를 살펴 보도록 하겠습니다.

4가지(Page > Request > Session > Application) 범위(scope)가 있습니다.

 

 

Page 영역

한번에 클라이언트 요청이 오면 하나의 페이지가 응답합니다.

Page영역은  이때 하나의 페이지 내에서만 객체를 공유하는 영역을 의미합니다.

예를들어 스프링프레임워크의 jsp를 페이지를 보면 해당 페이지에는 pageContext가 내장되어 있고 이객체는 Page 영역에서만 유효 합니다.

추가로 컨트롤러에서 셋팅된값을 jsp html에서 보여줄려면 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
 
<body>
 
<span>
 
    <%= name %>
 
</span>
 
</body>
 
</html>
cs

 

이렇게 사용한다면 해당값을 보여 줄 수 있습니다.

 

jsp 문법코드를 한가지를 더 보자면 <% %> - 스크립트릿이고 이 안에 자바 코드를 쓸 수 있습니다.

 

예를들어) 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
 
<body>
 
<% 
 
    int numbers = 1;
 
    System.out.println("사과의 숫자는 " + numbers + "입니다.");
 
%>
 
</body>
 
</html>
cs

 

결과: 사과의 숫자는 1개 입니다. 

 

Request 영역

클라이언트로 부터 요청이 들어와서 서버(WAS)가 어떤일을 수행한 다음 응답을 보낼때 까지 사용할 수있는 범위(Scope) 입니다.

Servlet에서 forward 또는 include를 사용하면 Request 요청 객체가 공유되어 Request 영역이 됩니다.

JSP에서는 Request 내장변수를 사용합니다.

서블릿에서는 HttpServletRequest 객체를 사용 합니다.

그리고 프로그램을 하다가 보면 화면에서 요청한 정보를 모두 Request에 담아서 진행 합니다.

 

Session 영역

하나의 브라우저당 1개의 session 객체가 생성 됩니다.

즉 같은 브라우저 내에서 요청되는 페이지들은 같은 객체를 공유하게 되는 이를 세션영역이라고 합니다.

세션이 종료되면 객체는 반환 됩니다.

보통 웹프로그램에서는 로그인 시 해당 세션을 생성하고 로그아웃 시 세션을 삭제 합니다.

그리고 웹 프로그램에서 사용할 세션을 생성하는경우 몇가지 간략한 정보만 세션에 담는 경우가 많습니다.

그 이유는 세션에 너무 많은 정보를 담다보면 서버에 부하가 발행되어서 처리할 정보는 Request로 담아서 처리 합니다.

Application 영역

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

웹 어플리케이션 하나당 하나의 application 객체가 사용 됩니다.

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

 

 

 

 

 

반응형

'프로그래밍 > 웹개발(WEB)' 카테고리의 다른 글

이클립스(Eclipse) 레이아웃 초기화 방법  (0) 2020.12.27
컴파일 빌드 차이점  (0) 2020.12.23
메이븐(Maven) 알아보기  (0) 2020.12.21
HTTP 오류코드 모음  (0) 2020.12.11
JNDI란 무엇인가요?  (0) 2020.10.04

댓글