Java/Spring

[스프링] 서블릿 컨텍스트 ServletContext

ImYena 2021. 9. 19. 14:34
728x90
웹에서 사용하는 HTTP 프로토콜의 통신 방식은 클라이언트와 서버 간의 연결을 클라이언트로부터 요청이 있을 때마다 매번 새롭게 연결하는 방식이다. 요청이 있을 때마다 연결작업이 새롭게 이루어지고, 서버가 클라이언트에게 응답을 보내는 즉시 끊어진다. 이처럼 클라이언트와 서버 간에 연결상태가 유지되지 않는 통신 방식을 '무상태'라고한다.

그렇기 떄문에 HTTP 프로토콜 통신 방식은 클라이언트의 정보가 유지되지 않는다. 따라서 클라이언트의 정보를 유지하기 위해서 ServletContext을 이용한다. 이 방법은 웹 애플리케이션 단위로 정보를 유지한다.
또한, ServletContext는 상태유지 기능 이외에도 서블릿과 서블릿 컨테이너 간의 통신 기능도 제공한다. 

 

서블릿 컨텍스트(ServletContext)

  • 서블릿 컨테이너와 통신하기 위해서 사용되는 메소드를 지원하는 인터페이스
  • (아래 그림 참고) 서블릿 컨테이너가 시작될 때, 웹 서버에 등록된 웹 애플리케이션 단위로 하나의 ServletContext객체가 자동으로 생성, 웹 애플리케이션 서비스가 중지될 때 소멸

웹 애플리케이션과 생명주기가 같고, 간단하게 웹 컨텍스트/컨텍스트(웹 애플리케이션)라고도 함

출처 : https://codeofenow.tistory.com/32

 

특징

  • javax.servlet.ServletContext로 정의 되어 있음
  • 서블릿과 서블릿 컨테이너 간 연동을 위해 사용
  • 웹 컨텍스트(웹 애플리케이션)마다 하나의 ServletContext가 생성
  • 서블릿끼리 자원(데이터)을 공유하는데 사용
  • 서블릿 컨테이너 실행시 생성, 컨테이너 종료시 소멸
  • ServletContext 객체는 web.xml 파일에서 환경설정 정보를 가져오는데 사용 가능
  • web.xml 파일로부터 속성을 가져오거나 설정, 제거하는데 사용 가능

 

ServletContext의 메소드

메소드 설명
public String getInintParameter(String name) 파라미터 name에 대한 파라미터 값 반환
public Enumeration getInitParameterNames() 컨텍스트의 초기화 파라미터의 name 값들을 String 객체의 Enumeration으로 반환
pulbic void setAttribute(String name) 애플리케이션 범위에 주어진 객체 설정
public Object getAttribute(String name) 명시된 name에 대한 Object 반환
public void removeAttribute(String name) 서블릿 컨텍스트로부터 주어진 name에 대한 속성 제거

 


출처 및 참고)

 

[JSP] ServletContext(Application)

웹에서 사용하는 HTTP 프로토콜의 통신 방식은 클라이언트와 서버 간의 연결을 클라이언트로부터 요청이 있을 때마다 매번 새롭게 연결하는 방식이다. 요청이 있을 때마다 연결작업이 새롭게 이

codeofenow.tistory.com

 

728x90
반응형