728x90
반응형
application |
application기본 객체 : 웹 어플리케이션 전반에 걸쳐 사용되는 정보를 담고 있다. - 초기설정 정보 읽기 - 서버 정보 읽기 - 웹 어플리케이션이 제공하는 자원(파일)을 읽어올 수 있다. 서블릿에 대한 규약 설정은 xml설정파일에서 한다. web.xml파일 - 웹 어플리케이션을 위한 설정 정보를 담고 있는 파일임. - WEB-INF폴더에 위치해야 한다.(다른 폴더에 있는 경우 인식하지 못함) - 웹서버가 실행되면 가장 먼저 읽어들이는 경로가 web.xml파일이다. |
<jsp:useBean scope="application"> application으로 설정되어 있으면 해당 객체의 생명주기는 웹서버가 꺼지기 전까지다. |
application.setAttribute(name, "orange"); application.getAttribute(name); |
scope |
|
정의 | 범위 |
pageContext : 한 페이지 내의 전반적인 정보를 읽어오거나 설정할 수 있는 객체 | 해당 페이지가 클라이언트에게 서비스를 제공하는 동안 유효. (생략값 - default) |
request : 요청을 주는 곳에서 요청을 받는 곳 사이에 살아있으면서 파라미터들이나 전반적인 요청 정보를 읽어오거나 설정할 수 있는 객체 | 클라이언트의 요청이 처리되는 동안 유효. (요청을 주는 곳에서 요청을 처리하고 응답을 완료하기 전까지 살아있는 객체), parameter들이 request에 먼저 담김 |
session : 브라우저가 꺼질 때까지 살아있으면서 자원을 설정하거나 읽어 들일 수 있는 객체 | 세션이 유지되는 동안 유효. ex)로그인 유지 (해당 도메인에 연결이 된 순간부터 해당 도메인을 영어놓은 전체 브라우저 창이 닫길 동안까지 유효한 객체. 단, 세션객체를 강제로 삭제하는 경우는 제외) |
application : 웹 서버가 구동이되는 순간(애플리케이션이 실행되는 순간) 생성되면서 웹서버가 종료되는 순간(애플리케이션이 종료되는 순간)까지 살아있는 개체면서 애플리케이션의 전반적인 정보를 읽어오거나 설정할 수 있는 객체 | 웹 어플리케이션이 실행되고 있는 동안 유효.(웹 서버가 꺼지기 전까지 유효) |
page | request | session | application | |
Attribute | Parameter | Attribute | Attribute | Attribute |
get post |
||||
위 4개의 객체가 공통적으로 가지고 있는 부분은 Attribute 임 | ||||
속성 설정/가져오는 방법 해당내장객체명.setAttribute("name명 문자열로", 값자리); 값은 모든 자료형 가능 |
ex) Member mem = new Member(); application.setAttribute("id", mem); (Member)application.getAttribute("id"); ex) application.setAttribute("id", "admin"); (String)application.getAttribute("id", "admin"); toString이 아닌 캐스트연산자를 통한 형변환 후 Object로 가져온다. |
|||
속성 가져오는 방법 해당내장객체명.getAttribute("name명 문자열로:) =>단, 데이터를 Object로 포장하여 가져온다. =>값이 없는 경우, null값을 반환한다. Object속성에 따라 형변환 후 다르게 가져옴 |
10_02_application01.jsp
10_02_application01.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%-- <%@ page trimDirectiveWhitespaces="true" %> --%> <%-- <% application.setAttribute("fruit","오뤤지"); %> //주석해제시 null->"오뤤지"--%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> 속성 설정 : <%= application.getAttribute("fruit") %> <% application.log("로그 메시지 기록"); %> 로그 메시지를 기록합니다. </body> </html>
console <%-- <% application.setAttribute("fruit","오뤤지"); %> --%> <% application.setAttribute("fruit","오뤤지"); %>
application.setAttribute가 되면
웹서버가 종료되기 전까지 해당 값은 유지된다
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <% String name = request.getParameter("abc"); if (name != null){ application.setAttribute(name, "orange"); %> application 기본 객체의 속성 설정 : <%=name %> = <%=application.getAttribute(name) %> <% } else { %> application 기본 객체의 속성 설정 안 함<br> 쿼리스트링으로 추가하고 재실행해주세요.<br> 추가할 문자열 : ?abc=fruit <% } %> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> </body> </html>
728x90
반응형