Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 완전탐색
- Dynamic Programming
- 영문자 확인
- Java
- 순열
- 문자열
- 완전 탐색
- 최소공배수
- 조합
- 동적계획법
- 프로그래머스
- 후위 표기법
- 에라토스테네스의 체
- HashMap
- 쿼드압축 후 개수세기
- 점프와 순간이동
- 메뉴리뉴얼
- HashSet
- 알고리즘
- python
- fragment identifier
- 규칙찾기
- 어려웠던 문제
- 2017 카카오 코드
- 반복문
- 보이어무어
- Stack
- dfs
- pandas
- 튜플
Archives
- Today
- Total
csmoon1010의 SW 블로그
JSP의 Scope - (부스트코스) 본문
1. Scope의 의미, 개요
사용 목적에 따라 지정하는 변수의 범위
- Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용
- Session : 웹 브라우저 별로 변수가 관리되는 경우 사용 (상태 유지 시에 사용)
- Request : http요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용
- Page : 페이지 내에서 지역변수처럼 사용 (동일 페이지 내에서만)
2. Page Scope
- JSP 페이지에서 pageContext라는 내장 객체로 사용
- forward : 해당 Page scope에 지정된 변수는 사용할 수 없음
- 공통점 : 사용방법은 Application scope나 Session scope, request scope와 같음
- setAttribute, getAttribute 메소드 이용
- 차이점 : 마치 지역변수처럼 사용 (같은 Page 내에서만 사용할 수 있으므로)
- 사용 목적 : jsp에서 pageScope에 값을 저장한 후 해당 값을 EL표기법, JSTL 등에서 사용할 때
- ${pageScope.msg}
⇨ 지역 변수처럼 해당 jsp나 서블릿이 실행되는 동안에만 정보를 유지하고자 할 때 사용됩니다.
3. Request Scope
- HttpServletRequest 객체를 사용한다.
- JSP : request 내장 변수
- 서블릿 : HttpServletRequest 객체
- 값을 저장 : request 객체의 setAttribute()메소드
- 값을 읽기 : request 객체의 getAttribute()메소드
- 사용목적 : forward 시 값을 유지하고자 사용
- redirect 시에는 불가 : 클라이언트에서 새로운 요청 생성
⇨ 요청~응답까지 : http 요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수값을 유지하고자 할 경우 사용
4. Session Scope
- 웹 브라우저간의 탭 : 세션정보가 공유 → 각각의 탭에서 같은 세션정보를 사용
- HttpSession 인터페이스를 구현한 객체를 사용한다.
- JSP : session 내장 변수를 사용한다.
- 서블릿 : HttpServletRequest의 getSession()메소드 → session 객체 획득
- 값을 저장 : session 객체의 setAttribute()메소드
- 값을 읽기 : session 객체의 getAttribute()메소드
- 사용목적 : 사용자별로 유지가 되어야 할 정보가 있을 때 (장바구니, 로그인 등)
⇨ 웹 브라우저별로 변수를 관리하고자 할 경우 사용!!
5. Application Scope
- 웹 어플리케이션 하나당 하나의 application 객체 (서버에는 여러 웹 어플리케이션有)
- ServletContext 인터페이스를 구현한 객체를 사용한다.
- jsp : application 내장 객체
- 서블릿 : getServletContext()메소드 → application객체를 획득
- 값을 저장 : application객체의 setAttribute()메소드
- 값을 읽기 : application객체의 getAttribute()메소드
- 사용목적 : 모든 클라이언트가 공통으로 사용해야 할 값들이 있을 때
⇨ 웹 어플리케이션이 시작되고 종료될 때까지 변수의 사용이 필요할 경우!
'웹 > 백엔드' 카테고리의 다른 글
Maven - (부스트코스) (0) | 2021.04.08 |
---|---|
JSP의 JSTL & EL - (부스트코스) (0) | 2021.04.05 |
JSP의 redirect & forward - (부스트코스) (0) | 2021.03.23 |
JSP의 기초 - (부스트코스) (0) | 2021.03.13 |
Servlet _ 작성 방법 / 라이프 싸이클 / Request, Response 객체 (부스트코스) (0) | 2021.01.29 |
Comments