본문 바로가기

JAVA

ServletContext와 ServletConfig 사용법

  • ServletContext 클래스
    • ServletContext 클래스는 톰캣 컨테이너 실행시 각 컨텍스트 마다 한개의 ServletContext 객체를 생성한다.
    • 톰캣 컨테이너 종료시 ServletContext 객체도 동시 소멸된다
    • ServletContext 객체는 웹 애플리케이션이 실행되면서 애플리케이션 전체의 공통 자원이나 정보를 미리 바인딩해서 서블릿들이 공유 하여 사용된다
  • ServletContext 클래스 특징
    • javax.servlet.ServletContext로 정의 되어있음.
    • 서블릿과 컨테이너 간의 연동을 위해 사용됨.
    • 컨텍스트(웹 애플리케이션)마다 하나의 ServletContext가 생성됨
    • 서블릿끼리 자원(데이터)을 공유하는데 사용
    • 컨테이너 실행 시 생성되고컨테이너 종료 시 소멸됨.
  • ServletContext 제공 기능
    • 서블릿에서 파일 접근 기능
    • 자원 바인딩 기능
    • 로그 파일 기능
    • 컨텍스트에서 제공하는 설정 정보 제공 기능
  • ServletContext 제공 메서드
    • getAttribute(String name)
      • 주어진 name을 이용해 바인딩된 value를 가져옴
      • name이 조회되지 않으면 null을 반환한다
    • getAttributeNames()
      • 바인딩된 속성들의 name을 반환한다.
    • getContext(String uripath)
      • 지정한 uripath에 해당되는 객체를 반환한다.
    • getInitParameter(String name)
      • name에 해당되는 매개변수의 초기화 값을 반환합니다.
      • name에 해당되는 매개변수가 존재하지 않으면 null을 반환한다.
    • getInitParameterNames()
      • 컨텍스트의 초기화 관련 매개변수들의 이름들을 String 객체가 저장된 Enumeration 타입으로 반환한다.
      • 매개변수가 존재하지 않으면 null을 반환한다.
    • getMajorVersion()
      • 서블릿 컨테이너가 지원하는 주요 서블릿 API버전을 반환한다.
    • getRealPath(String path)
      • 지정한 path에 해당되는 실제 경로를 반환한다.
    • getResource(String path)
      • 지정한 path에 해당되는 Resource를 반환한다.
    • getServerInfo()
      • 현재 서블릿이 실행되고 있는 서블릿 컨테이너의 이름과 버전을 반환한다.
    • getServletContextName()
      • 해당 애플리케이션의 배치 관리자가 지정한 ServletContext에 대한 해당 웹 애플리케이션의 이름을 반환한다.
    • log(String msg)
      • 로그파일에 로그를 기록합니다.
    • removeAttribute(String name)
      • 해당 name으로 ServletContext에 바인딩된 객체를 제거합니다.
    • setAttribute(String name, Object object)
      • 해당 name으로 객체를 ServletContext에 바인딩 합니다.
    • setInitParameter
      • 주어진 name으로 value를 컨텍스트 초기화 매개변수로 설정합니다.

'JAVA' 카테고리의 다른 글

ServletContext의 매개 변수 설정 기능  (0) 2021.08.09
ServletContext 바인딩 기능  (0) 2021.08.05
두개 Servlet 바인딩 예제  (0) 2021.08.04
바인딩  (0) 2021.08.04
Servlet 포워드 기능  (0) 2021.08.01