내장 객체
클라이언트가 서버로 요청을 보내면, 서버는 그에 맞는 결과를 응답으로 돌려주는 형태로 동작한다.
이 때 JSP의 내장 객체는 요청과 응답 혹은 HTTP 헤더 등의 정보를 쉽게 다룰 수 있도록 해준다.
내장 객체는 JSP 페이지가 실행될 때 컨테이너가 자동으로 생성해주며, 별도로 선언하거나 객체로 생성하지 않아도 즉시 사용할 수 있다.
*내장 객체의 종류
내장 객체 | 설명 |
request | 클라이언트의 요청을 받거나 웹 브라우저에 대한 정보 혹은 요청 헤더에 대한 정보를 읽을 때 사용한다. |
response | 요청에 대한 응답을 웹 브라우저로 보낼 때 사용한다. 페이지 이동이나 응답 헤더를 추가할 때도 사용한다. |
out | 변수 등의 값을 웹 브라우저에 출력할 때 주로 사용한다. |
session | 웹 브라우저 정보를 유지하기 위한 세션 정보를 저장한다. |
application | 웹 애플리케이션을 구성하는 모든 JSP에서 접근 가능한 객체로, 웹 애플리케이션에 대한 설정값을 저장할 때 주로 사용한다. |
pageContext | JSP 페이지에 대한 정보를 저정한다. |
page | JSP 페이지를 구현한 자바 클래스의 인스턴스이다. |
config | JSP 페이지에 대한 설정 정보를 저장한다. |
exception | 예외 처리를 위해 사용한다. |
내장 객체 영역
내장 객체 중 4개는 영역이라는 개념을 가지고 있다. 각 영역에 저장된 데이터는 공유 범위가 서로 다르다.
내장 객체의 영역은 각 객체가 저장되는 메모리의 유효기간이라 이해하면 된다.
웹에서는 페이지(page)들이 모여 하나의 요청(request)을 처리하며, 요청들이 모여 하나의 세션(session)을, 다시 세션들이 모여 하나의 웹 애플리케이션(application)을 이룬다.
*내장 객체 범위의 크기 : application > session > request > page
page 영역 | 동일한 페이지에서만 공유된다. 페이지를 벗어나면 소멸된다. |
request 영역 | 하나의 요청에 의해 호출된 페이지와 포워드(요청 전달)된 페이지까지 공유된다. |
session 영역 | 클라이언트가 처음 접속한 후 웹 브라우저를 닫을 때까지 공유된다. |
application 영역 | 한번 저장되면 웹 애플리케이션이 종료될 때까지 유지된다. |
내장 객체의 속성(Attribute)
네 개의 기본객체 page, request, session, application 는 속성을 갖고 있다.
속성은 각각의 기본 객체가 존재하는 동안에 사용될 수 있고, JSP 페이지 사이에서 정보를 주고 받거나 공유하기 위한 목적으로 사용된다.
<속성이름, 값> 형태를 가지고, 서로 다른 이름을 가진 속성을 여러개 포함할 수 있다.
*내장 객체의 주요 메소드
메소드 | 설명 | 반환타입 |
setAttribute(String name, Object value) | 각 영역에 속성을 저장한다. 모든 타입의 객체를 저장할 수 있다. | void |
getAttribute(String name) | 영역에 저장된 속성값을 얻어온다. Object로 자동 형변환되어 저장되므로 원래 타입으로 형변환 후 사용해야 한다. | Object |
removeAttribute(String name) | 영역에 저장된 속성을 삭제한다. | void |
'DEVELOPMENT > JSP' 카테고리의 다른 글
[JSP] Cookie, Session (0) | 2023.03.05 |
---|---|
[JSP] Forward, Redirect (0) | 2023.03.05 |
[JSP] DTO, 자바빈즈, DAO (0) | 2023.03.05 |
[JSP] 지시어, 스크립트 요소 (0) | 2023.03.05 |
[JSP] 기본 용어 정리 (0) | 2023.03.05 |