1.Page scope
- 페이지 내에서 지역 변수 처럼 사용된다.
- jsp 파일에서 <%%> 안에 변수를 선언하면 page 스코프로 정의되어 해당 파일에서만 사용이 가능하다.
- 다른 영역과 다르게 page 내장 객체가 아닌 jsp 파일에 내장된 pageContext 객체를 통해 접근 가능한 영역이다.
- 현재 페이지에서 정보를 저장하고 다른 페이지에서는 정보가 저장될 필요가 없는 경우 사용된다.
2.Request
- 요청을 받아서 응답하기까지 객체가 유효한 영역이다.
- 가장 많이 사용된다.
- 페이지와 페이지 사이에 존재 하며 하나의 관계에서만 사용이 가능하다.
- foward나 include를 사용하면 여러 페이지에서도 요청정보를 공유할 수 있다.
- Servlet과 Jsp가 통신할 때 사용되는 방법이다.
- 사용자가 검색어를 입력해서 데이터를 요청하는 경우 사용된다.
3.Session
- 하나의 브라우저당 1개의 Session 객체가 생성된다.
- 같은 브라우저 내의 요청되는 페이지 들은 같은 객체를 공유하게 된다.
- 세션이 종료되면 객체가 반환된다.
- 서로 다른 페이지여도 객체를 공유 할 수 있다.
- 사용자의 로그인 정보처럼 다른 페이지에서도 사용자의 정보를 알아야 할때 사용된다.
4.Application
- 하나의 어플리케이션당 1개의 application객체가 생성된다.
- 웹이 시작되고 종료 될 때 까지 변수가 유지될 경우 사용된다.
- 같은 어플리케이션 내의 요청되는 페이지들은 같은 객체를 공유한다.
- 모든 영역에서 공유 할 수 있는 가장 큰 범위를 가지고 있다.
- 모든 클라이언트가 공통으로 사용해야 할 값들이 있을 경우 사용된다.
각 스코프를 확인하기 위해 값을 넣어놓고 다른 페이지로 이동 한다
다른 페이지에서 값들을 찍어 보면
이런 결과를 확인 할 수 있다.
위에 설명과 같이 다른 페이지에서도 값을 확인 할 수있는것은 세션과 어플리케이션이고
페이지는 자신의 페이지에서만 쓸수 있기 때문에 값이 나오지 않고
request는 페이지와 페이지 사이에 존재 하기 때문에 나오지 않는다 request를 확인 하려면 서블릿을 써서 확인하면 된다.
간단한 계산기 를 만들어서 확인한다.
실행해서 확인해보면
request 값을 잘 받아서 결과가 나오는 것을 볼 수 있다.
'웹' 카테고리의 다른 글
다음 페이지로 값 넘기기 ( foward 없이 ) (1) | 2022.09.20 |
---|---|
에러 페이지 만들기 (0) | 2022.09.16 |
서블릿 매핑 (0) | 2022.09.16 |
비정규식으로 유효성 검사 만들기 (0) | 2022.09.15 |
정규식을 이용한 유효성 검사 (0) | 2022.09.15 |