JSP 내장객체??? 솔직히 자바를 알면 이미 객체의 의미는 알고 있을테니
-자세한 설명은 생략한다- 그래도 특징은 설명하겠습니다!~
- 스크립트릿 안에서만 사용 가능
- 스크립트릿에 내장 객체와 같은 이름의 변수를 선언할 수 없음. 선언문에서는 사용 가능하나 가급적 사용하지 않는 것이 좋음 (당연히 헷갈릴 수 있으니까;; 사용하지 맙시다)
- 서블릿 컨테이너가 해당 JSP 페이지 실행 시 자동으로 생성jsp가 변환된 fileName_jsp.java 파일을 열어보면_jspService() 메소드 내부에 선언되어 있음
자 그러면 일단 종류가 뭐뭐 있는지 살펴봅시다!
쓰기전에 대략 이런것들이 알고 있다고 마인드만 시켜도 나중에 기억이 안날때,
아! 이런기능 있었던거 같은데 뭐였지? 하면서 찾아가지고 쓰다보면 외워지겠죠????
내장객체 종류
내장 객체 반환값 타입 설명
request | javax.servlet.http.httpServletRequest또는 javax.servlet.ServletRequest | 웹 브라우저의 요청 정보를 저장하고 있는 객체 |
response | javax.servlet.http.httpServletResponse또는 javax.servlet.ServletResponse | 웹 브라우저의 요청에 대한 응답 정보를 저장하는 객체 |
out | javax.servlet.jsp.JspWriter | JSP 페이지의 출력할 내용을 가지고 있는 출력 스트림 객체 |
session | javax.servlet.http.HttpSession | 하나의 웹 브라우저 내에서 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체 |
application | javax.servlet.ServletContext | 웹 애플리케이션 Context의 정보를 담고 있는 객체 |
pageContext | javax.servlet.jsp.PageContext | JSP 페이지에 대한 정보를 저장하고 있는 객체 |
page | java.lang.Object | JSP 페이지를 구현한 자바 클래스 객체 |
config | javax.servlet.ServletConfig | JSP 페이지에 대한 설정 정보를 담고 있는 객체 |
exception | java.lang.Throwable | JSP 페이지에서 예외가 발생한 경우 사용하는 객체 |
※ 자주 사용되는 내장 객체는 굵은 글씨로 표기
setAttribute() & getAttribute
request, session, application, pageContext 내장 객체는속성(attribute)값을 저장하고 읽을 수 있는 메소드 제공
속성값을 저장하고 읽을 수 있는 기능은JSP 페이지 및 서블릿 간 정보를 주고받을 수 있도록 함
메소드 설명
void setAttribute(String key, Object value) | 해당 내장 객체의 속성값을 설정하는 메소드key 속성명에 value 속성값을 지정 |
java.util.Enumeration getAttributeNames() | 해당 내장 객체의 속성명을 읽어오는 메소드모든 속성의 이름을 얻어옴 |
Object getAttribute(String key) | key 속성명에 해당하는 속성값 반환 |
void removeAttribute(String key) | key 속성명에 해당하는 속성 제거 |
이런 것들은 그냥 보다보면 사용할때 자연스럽게 외워질겁니다….이미 request, response, session은 외워졌는걸요,,,,
자 그러면 중요한 영역!! 에 대해서 알아봅시다.
page 영역
- 한 번의 웹 브라우저(클라이언트)의 요청에 대해 하나의 JSP 페이지가 호출됨
- page 영역은 객체를 하나의 페이지 내에서만 공유
- pageContext 내장 객체 사용
request 영역
- 한 번의 웹 브라우저의 요청에 대해 같은 요청을 공유하는 페이지가 대응됨
- 같은 request 영역인 경우 두 개의 페이지가 같은 요청을 공유할 수 있음
- 객체를 하나 또는 두 개의 페이지 내에서 공유 가능
- 주로 페이지 모듈화에 사용
- request 내장 객체 사용
session 영역
- 하나의 웹 브라우저당 1개의 session 객체 생성
- 주로 회원 관리(인증)에 사용되며 session 내장 객체 사용
application 영역
- 하나의 웹 애플리케이션(프로젝트)당 1개의 application 객체 생성
- 애플리케이션 전체에서 공유하는 객체이므로 메모리에 부담이 갈 수 있어서 자주 사용되지는 않음
- application 내장 객체 사용
저도 재가 쓰면서 이게 정확한 정의일까 되게 많은 고민을 하고 찾아보면서 썼는데,,,,
아직은 저도 이러한 개념을 공부하기 위해 글을 쓰다보니 아직은 저에 대한 믿음이 없을때도 있습니다…..(몇몇 색다른 내용을 접하고 그 내용을 토대로 복습을하고 글을 쓸때)
그래도 이해하고 남에게 설명을 잘 하는 개발자가 될때까지 노력해야죠 🙂
728x90
'JSP' 카테고리의 다른 글
Servlet으로 웹페이지 구현해보기 (로그인) (0) | 2023.01.16 |
---|---|
일단 서버란 뭘까요…? 서블릿이란?…뭘까요오오??.. (0) | 2023.01.16 |
JSP ⇒ JSTL/EL 문법과 사용법…허허 (0) | 2023.01.16 |
WHAT IS JSP?? Java Server Page (0) | 2023.01.16 |