1. 기본 객체와 영역
request : 클라이언트의 요청 정보를 저장한다.
response : 응답 정보를 저장한다.
pageContext : JSP 페이지에 대한 정보를 저장한다.
session : HTTP 세션 정보를 저장한다.
application : 웹 어플리케이션에 대한 정보를 저장한다.
out : JSP 페이지가 생성하는 결과를 출력할 때 사용되는 출력 스트림이다.
config : JSP 페이지에 대한 설정 정보를 저장한다.
page : JSP 페이지를 구현한 자바 클래스 인스턴스이다.
exception : 예외 객체. 에러 페이지에서만 사용된다.
--------------------------------------------------------------------------------------------------------------
2. out 기본 객체
JSP 페이지가 생성하는 모든 내용은 out 기본 객체를 통해서 전송.
웹 브라우저에 데이터를 전송하는 출력 스트림으로서 JSP 페이지가 생성한 데이터를 출력.
복잡한 if-else 사용시 out 기본 객체 사용하면 편리하다.
1) out 사용 전
--------------------------------------------------------------------------------------------------------------
3. pageContext 기본 객체
다른 기본 객체에 대한 접근 메서드 제공. (JSP보다는 서블릿에서 주로 활용)
getRequest() : request 기본 객체를 구한다.
getResponse() : response 기본 객체를 구한다.
getSession() : session 기본 객체를 구한다.
getServletContext() : application 기본 객체를 구한다.
getServletConfig() : config 기본 객체를 구한다.
getOut() : out 기본 객체를 구한다.
getException() : exception 기본 객체를 구한다.
getPage() : page 기본 객체를 구한다.
--------------------------------------------------------------------------------------------------------------
4. application 기본 객체
초기화 파라미터 설정: web.xml 파일 이용
<context-param>
<description>파라미터 설명(필수 아님)</description>
<param-name>파라미터이름</param-name>
<param-value>파라미터값</param-value>
</context-param>
application 기본 객체의 초기화 파라미터 관련 기능
application 기본 객체: 자원 구하기
자원 접근 메서드
getRealPath(String path) : 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원의 시스템상에서의 자원 경로를 리턴한다. (절대경로값 리턴)
getResource(String path) : 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원에 접근할 수 있는 URL 객체를 리턴한다.
getResourceAsStream(String path) : 웹 어플리케이션 내에서 지정한 경로에 해당하는 자원으로부터 데이터를 읽어올 수 있는 InputStream을 리턴한다.
p129 참조
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
속성 기능 제공 기본 객체
- pageContext, request, session, application
속성 관련 메서드
setAttribute(String name,Object value) : 이름이 name인 속성의 값을 value로 지정한다.
getAttribute(String name) : 이름이 name인 속성의 값을 구한다. 지정한 이름의 속성이 존재하지 않을 경우 null을 리턴한다.
removeAttribute(String name) : 이름이 name인 속성을 삭제한다.
getAttributeNames() : 속성의 이름 목록을 구한다. (pageContext 기본 객체는 이 메서드를 제공하지 않는다.)
속성의 활용
pageContext : (한번의 요청을 처리하는) 하나의 JSP 페이지 내에서 공유될 값을 저장한다.
request : 한번의 요청을 처리하는 데 사용되는 모든 JSP 페이지에서 공유될 값을 저장한다.
session : 한 사용자와 관련된 정보를 JSP 들이 공유하기 위해서 사용된다.
application : 모든 사용자와 관련해서 공유할 정보를 저장한다.
1) INPUT으로 name값과 value값을 입력받아 setApplicationAttribute.jsp으로 넘긴다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="setApplicationAttribute.jsp" method="get">
<input type="text" name="name" />
<input type="text" name="value" />
<input type="submit" />
</form>
</body>
</html>
2) setApplicationAttribute.jsp
입력받은 name값과 value값을 application 영역에 set을 한다.
body 영역에는 name이나 value값이 null 값이 오면 [application 기본 객체의 속성 설정 안함],
입력값이 오면 해당 입력값을 출력하는 내용을 보여준다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");%>
<%
String name = request.getParameter("name");
String value = request.getParameter("value");
if(name != "" && value != "") {
application.setAttribute(name, value);
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>속성 지정</title>
</head>
<body>
<%
if (name != "" && value != "") {%>
application 기본 객체의 속성 설정:
<%= name %> = <%= value %>
<% }
else {
%>
application 기본 객체의 속성 설정 안함
<%}%>
</body>
</html>
3) viewApplicationAttribute.jsp
application 영역을 보여주는 jsp. 위에서 입력한 값들도 application 영역에 set 된 것을 확인할 수 있다.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");%>
<%@ page import = "java.util.Enumeration" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>기본 객체 속성 보기</title>
</head>
<body>
<%
Enumeration<String> attrEnum = application.getAttributeNames();
while(attrEnum.hasMoreElements()) {
String name = attrEnum.nextElement();
Object value = application.getAttribute(name);
%>
application 속성 :<strong><%= name %> = <%= value %></strong><br />
<%
}
%>
</body>
</html>
결과) application 영역을 보면 입력했던 값들도 속성에 들어있는 것을 확인할 수 있다.
application 속성 :org.apache.tomcat.JarScanner = org.apache.tomcat.util.scan.StandardJarScanner@72145782
application 속성 :꾸엑 = 꼬앙꾸
application 속성 :111 = 222
application 속성 :arrt1 = value1
application 속성 :ìì±ì´ë¦ = ìì±ê°
application 속성 :네임 = 밸류값
application 속성 :하나 = 둘
'JSP' 카테고리의 다른 글
페이지 모듈화 & 요청 흐름 제어 (0) | 2016.03.07 |
---|---|
에러 처리 (0) | 2016.03.04 |
JSP 필수 이해 요소 : JSP 구조, 버퍼, 디렉터리 구성 (1) | 2016.03.04 |
서블릿 기초: @WebServlet 애노테이션과 web.xml (0) | 2016.03.03 |
jsp 실습: form 파라미터 보내고 받기 (0) | 2016.03.03 |