728x90
Java 애플리케이션을 실행하기 위한 환경을 제공하는 소프트웨어
- Java 애플리케이션을 실행하고 관리하는 역할을 담당하며, 애플리케이션의 생명주기를 제어하고 필요한 서비스 제공
- Java 컨테이너는 대표적으로 Java EE(Enterprise Edition)및 Jakarta EE 의 스펙에 정의된 서버 컨테이너
- 웹 애플리케이션, 서비스, 마이크로서비스 등의 Java 애플리케이션을 실행할 수 있는 환경 제공
주요 기능
1. 생명 주기 관리
- 애플리케이션의 시작, 종료, 재시작 등의 생명주기 관리
- 애플리케이션의 초기화, 리소스 할당, 스레드 관리 등을 처리
2. 컴포넌트 관리
- 애플리케이션의 컴포넌트(서블릿 등)를 관리하고 제공
- 컴포넌트의 인스턴스화, 의존성 주입, 라이프사이클 관리 등을 담당
3. 리소스 관리
- 애플리케잇연이 사용하는 리소스(데이터베이스 연결, 메시징 시스템 등)의 관리 제공
- 리소스 풀링, 트랜잭션 관리, 보안 설정 등을 처리
4. 네트워크 통신
- 클라이언트와의 네트워크 통신을 처리하고, 요청 및 응답 처리를 위한 프로토콜 구현 제공
- 웹 애플리케이션의 경우 HTTP 프로토콜을 사용
5. 보안 관리
- 애플리케이션의 보안 관리
- 인증, 인가, 권한 부여 등의 보안 기능을 제공하며, 보안 정책을 적용
Java 컨테이너의 종류
Apache Tomcat, Red Hat JBoss, Eclipse Jetty, IBM WebSphere 등
728x90
'2.Container' 카테고리의 다른 글
Queue에서, poll()과 remove()의 차이 (0) | 2023.07.19 |
---|---|
ArrayList 와 Vector 의 차이점 / Array와 ArrayList의 차이점 (0) | 2023.07.18 |
ArrayList, LinkedList 차이점 / Array -> List 로 전환하려면? (0) | 2023.07.14 |
HashMap vs Hashtable / HashMap vs TreeMap / HashSet (0) | 2023.07.13 |
Collection과 Collections의 차이는? / List, Set, Map의 차이점 (0) | 2023.07.12 |