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
반응형

+ Recent posts