ServletContext는 웹 애플리케이션의 전역 설정 및 리소스에 접근할 수 있게 해주는 객체로, 서블릿 기반 웹 애플리케이션에서 애플리케이션 범위의 정보를 공유하거나 설정을 관리할 때 사용된다. ServletContext는 각 웹 애플리케이션마다 하나씩 생성되며, 애플리케이션이 실행되는 동안 서버에 의해 유지된다.
Servlet
Java에서 웹 애플리케이션을 개발하기 위해 사용되는 서버 측 구성 요소.
주요 역할
- 클라이언트 요청 처리
- 비즈니스 로직 수행
- HTTP 응답 전송
⇒ MVC 패턴에서 Controller 역할을 한다고 볼 수 있음.
ServletContext, ApplicationContext, WebApplicationContext
ServletContext
- 하나의 서블릿이 서블릿 컨테이너와 통신하기 위해서 사용되어지는 메서드들을 가지고 있는 클래스
- 웹 애플리케이션 전체에서 공유되는 정보를 저장하고 관리하는 객체로, 모든 서블릿과 JSP가 접근할 수 있는 전역 범위의 데이터를 저장할 수 있는 공간이다.
- 서버가 웹 애플리케이션을 시작할 때 생성되며, 애플리케이션이 종료될 때까지 유지된다.
ServletContex의 사용 상황
- 애플리케이션 설정 정보 제공 - 데이터베이스 연결 정보나 파일 경로 등을 web.xml / AppConfig 에 설정하고 이를 ServletContext로 불러올 수 있음.
- 로그인, 인증된 사용자 객체를 추출할 때 여기서 가져옴.
Application Context