is Data.

JSP application 기본(내장)객체

특정 웹 어플리케이션에 포함된 모든 JSP 페이지는 하나의 application 기본 객체를 공유한다.

그런고로 서블릿 규약은 웹 어플리케이션 전체에 걸쳐 사용가능한 초기화 파라미터를 제공한다.

 

1.초기화 파라미터

 

초기화 파라미터는 web.xml 파일에 추가한다.

    <context-param>
        <description>설명은 옵션</description>
        <param-name>name</param-name>
        <param-value>hyun</param-value>
    </context-param>

위처럼 context-param태그를 사용해서 초기화 파라미터를 하나 이상 추가할 수 있다.

web.xml이 변경된 경우 웹 어플리케이션을 다시 시작해야 적용되는 컨테이너가 존재하는데, 우리가 사용하는 톰캣은

web.xml 파일이 변경되면 자동으로 재시작하여 변경내용을 반영한다. (자동반영을 하지 않도록 할수도 있다.)

<%
    Enumeration initParamEnum = application.getInitParameterNames();
    while (initParamEnum.hasMoreElements()) {
        String initParamName = (String)initParamEnum.nextElement();
%>
<li><%= initParamName %> =
    <%= application.getInitParameter(initParamName) %>
<%
    }
%>

위와 같은 방법으로 Enumeration타입을 반환하는 getInitParameterNames()메서드로 웹 어플리케이션 초기화 파라미터의

이름 목록을 구하여 getInitParameter()메서드를 통해 해당 이름의 파라미터의 값을 읽어 올 수 있다.

존재하지 않는 경우엔 null 을 리턴한다.

 

이런 웹 어플리케이션 초기화 파라미터는 데이터베이스 연결과 관련된 설정 파일의 경로나, 로깅 설정파일 또는

웹 어플리케이션의 주요 속성 정보를 담고 있는 파일의 경로 등을 지정할 때 사용한다.

 

 

2.서버 정보 읽어오기

 

application 기본객체는 현재 사용중인 웹 컨테이너에 대한 정보를 읽어올 수 있다.

서버정보: <%= application.getServerInfo() %> <br>
서블릿 규약 메이저 버전: <%= application.getMajorVersion() %> <br>
서블릿 규약 마이너 버전: <%= application.getMinorVersion() %>



위처럼 application 객체를 통해서 각 정보를 읽어오는 것이 가능하다. 서블릿 버전은 2.5규약을 지원한다.

 

 

3.로그 메시지 기록하기

 

application 기본객체의 로그 기록 메서드는 단순히 로그메시지만을 기록하거나 예외정보를 함께 기록하는

두가지 메서드로 오버로딩 되어 있다. 리턴 타입은 없다.

 

log(String msg)

log(String msg , Throwable throwable)

 

톰캣의 경우 로그 메시지는 [톰캣설치디렉토리]\logs 디렉토리 하위의 localhost.yyyy-mm-dd.log 형식의 로그 파일에

기록된다. 하지만 application기본객체를 사용하지 않고 JSP페이지가 제공하는 log메서드를 사용해도 상관 없다.

<%@ page contentType = "text/html; charset=euc-kr" %>

<head><title>로그 메시지 기록</title></head>

 
<%
    application.log("로그 메시지 기록");
%>
 
<%
    log("로그 메시지 기록2");
%>
---------------------
결과 3월 15, 2012 9:15:35 오후 org.apache.catalina.core.ApplicationContext log 정보: 로그 메시지 기록 3월 15, 2012 9:15:35 오후 org.apache.catalina.core.ApplicationContext log 정보: jsp: 로그 메시지 기록2



두가지 로그 기록방식을 사용했는데 JSP기본 로그 메서드를 사용한 경우 다른점은 정보:jsp: 가 다를뿐 나머진 똑같다.



'web > jsp' 카테고리의 다른 글

JSP 기본객체의 속성(Attribute)  (0) 2014.09.08
JSP 기본(내장) 객체와 영역  (0) 2014.09.08
JSP pageContext 기본(내장)객체  (0) 2014.09.08
JSP out 기본(내장)객체  (0) 2014.09.08
JSP 버퍼[Buffer] 와 응답  (0) 2014.09.08