자바 서블릿 프로그램: 초심자를 위한 서블릿 튜토리얼 [2022]
게시 됨: 2021-01-02목차
자바 서블릿
자바 프로그래밍 언어 클래스입니다. Java의 Servlet 프로그램은 Java 지원 웹 응용 프로그램 또는 서버에서 실행되며 웹 서버에서 수신된 요청을 처리하고 요청에 대한 응답을 처리 및 생성한 다음 응답을 웹 서버로 다시 보내는 데 사용됩니다.
이러한 서블릿은 서버 측에서 작동합니다. 프로그래밍에서 요청-응답 모델을 호스트하는 응용 프로그램을 호스트하도록 서버 기능을 확장하는 데 사용됩니다. 모든 유형의 요청을 처리할 수 있으며 복잡한 요청을 효율적으로 처리할 수 있습니다.
읽기: Java 인터뷰 질문 및 답변
Java를 사용하는 서블릿 프로그램은 플랫폼에 의존하지 않습니다. 수신하는 클라이언트 요청 유형에 따라 프로세스를 생성합니다. JVM( Java Virtual Machine )에서 실행됩니다. Java Servlet 프로그램은 Java 바이트코드를 따릅니다. Java Servlet은 공격에 저항할 수 있습니다. 다른 장점으로는 더 빠른 속도, 휴대성 및 효율성이 있습니다.
스크립트를 처리하기 전에 번역하고 컴파일합니다. Java Servlet은 데이터 공유를 가능하게 합니다. 웹서버와 직접 통신하여 쿠키를 처리할 수 있습니다. CGI( Common Gateway Interface ) 와 같은 다른 방법보다 저렴합니다.
자바 서블릿 아키텍처
Java Servlet Architecture에는 통신 인터페이스, 클라이언트 및 서버 요구 사항, 사용된 프로토콜, 관련 프로그래밍 언어 및 소프트웨어가 포함됩니다.

Java 서블릿은 HTML(Hypertext Markup Language), 사용자 정의 HTTP(Hypertext Transfer Protocol) 프로그램, 애플릿 또는 암시적 HTTP 요청 데이터와 같은 형식이 될 수 있는 클라이언트 브라우저에서 수신된 데이터를 읽습니다. 그런 다음 기존 데이터베이스와 통신하여 수신된 데이터를 처리하고 결과를 생성하기 전에 다른 단계를 수행합니다.
이 결과(데이터 또는 문서)는 텍스트(HTML 또는 XML(Extensible Markup Language)), 이미지(바이너리)와 같은 다양한 형식으로 클라이언트에 전송됩니다. 결국 클라이언트에 암시적 HTTP 응답을 보내 반환되는 문서 유형을 알려줍니다.
자바 서블릿 라이프 사이클의 단계
Java Servlet에는 Servlet 로드, Servlet 초기화, 요청 처리 및 Servlet 소멸을 포함하는 4단계의 라이프 사이클이 있습니다. 서블릿 컨테이너는 웹 서버가 시작될 때 수신된 모든 서블릿을 배포하고 로드합니다.
int() 메서드를 호출하여 서블릿을 초기화합니다 . Servlet 인스턴스의 성공적인 인스턴스화 및 해당 서비스 표시는 Servlet.init() 메소드를 호출하여 표시됩니다. 클라이언트의 요청은 service() 메소드 를 사용하여 Servlet에 의해 처리됩니다 . 이 방법을 사용하여 클라이언트 요청을 Servlet에 알립니다.
마지막으로 이 생성된 Servlet은 Servlet 인스턴스의 종료 신호로 destroy() 를 호출하여 종료됩니다 . int() 및 destroy() 메소드는 Java 서블릿의 수명 동안 한 번 호출됩니다. 마지막으로 JVM 가비지 수집기는 서블릿 가비지를 수집하고 서블릿의 수명 주기를 종료합니다.
또한 읽기: Java 아키텍처 및 구성 요소 설명
자바 서블릿의 실행 단계
서블릿은 아래와 같이 6가지 기본 단계를 사용하여 실행됩니다.
- 클라이언트는 웹 응용 프로그램/서버에 요청을 보냅니다.
- 웹 애플리케이션/서버가 요청을 수신합니다.
- 웹 애플리케이션/서버는 요청을 적절한 서블릿으로 보냅니다.
- 서블릿은 라이프 사이클을 통해 요청을 처리하고 출력으로 응답을 생성합니다.
- 서블릿은 응답을 웹 애플리케이션/서버로 다시 보냅니다.
- 마지막으로 웹 애플리케이션/서버는 이 요청을 다시 클라이언트로 보내고 클라이언트의 브라우저는 이를 웹 페이지에 표시합니다.
세계 최고의 대학 에서 온라인 소프트웨어 개발 과정 에 등록하십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
자바 서블릿 클래스와 인터페이스
Java Servlet은 동적 웹 페이지를 생성할 수 있지만 이 기능은 컨테이너 또는 웹 서버에 의해 웹 페이지에 제공됩니다. 독립 웹 서버 공급자는 이 요구 사항을 충족하기 위해 API(응용 프로그래밍 인터페이스)와 같은 독점 솔루션을 제공합니다.

이러한 API를 사용하여 웹 서버에서 프로그램을 빌드하고 실행할 수 있습니다. Java Servlet은 Java로 작성된 동적 웹 응용 프로그램의 표준을 설정하는 구성 요소 API 중 하나인 Java Platform Enterprise Edition입니다.
Java Servlet API에는 아래와 같이 모든 중요한 인터페이스와 클래스를 캡슐화하는 두 가지 중요한 패키지가 있습니다.

- javax.servlet(기본)
- Javax.servlet.http(고급)
아래 표에는 Java Servlet의 몇 가지 중요한 클래스와 인터페이스가 포함되어 있습니다.
서블릿 | 유형 | 패키지 | 서블릿의 LifeCycle 메소드 선언 |
서블릿 구성 | 상호 작용 | javax.servlet | 초기화 방법을 위한 서블릿을 허용합니다. |
서블릿 컨텍스트 | 수업 | javax.servlet | 액세스 및 액세스 정보를 기록하기 위한 서블릿을 활성화합니다. |
서블릿 요청 | 상호 작용 | javax.servlet | 클라이언트 요청에서 데이터를 읽는 데 사용됩니다. |
서블릿 응답 | 상호 작용 | javax.servlet | 클라이언트의 응답에 데이터를 쓰는 데 사용됩니다. |
일반 서블릿 | 수업 | javax.servlet | Servlet 및 Servlet.config 인터페이스를 구현합니다. |
서블릿 입력 스트림 | 수업 | javax.servlet | 클라이언트로부터 수신된 요청을 읽기 위한 입력 스트림을 제공합니다. |
서블릿 출력스트림 | 수업 | javax.servlet | 클라이언트에 응답을 작성하는 출력 스트림을 제공합니다. |
서블릿 예외 | 수업 | javax.servlet | 서블릿을 사용할 수 없음 표시 |
HttpServlet | 상호 작용 | javax.servlet.http | HTTP 요청 및 응답 처리 방법 |
서블릿 컨테이너
Java Servlet 구성 요소에 런타임 환경을 제공하는 통합된 개체 집합입니다. 네트워크, MIME( Multipurpose Internet Mail Extensions ) 기반 메시지 디코딩 및 인코딩 , 서블릿 컨테이너 관리, 리소스 및 세션 관리, 보안 서비스와 같은 서비스를 제공합니다.
필독: 흥미로운 Java 프로젝트 및 주제
결론
따라서 Java Servlet은 웹 서버에서 클라이언트 요청을 처리하는 동안 향상된 속도와 유연성과 함께 동적 웹 페이지를 구현하는 데 사용됩니다.
Java, OOP 및 전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육을 제공하는 upGrad & IIIT-B의 전체 스택 소프트웨어 개발 이그 제 큐 티브 PG 프로그램을 확인하십시오. 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
자바 란 무엇입니까?
프로그래밍 언어로서의 Java는 본질적으로 동시성, 클래스 기반 및 객체 지향적인 범용 컴퓨터 프로그래밍 언어입니다. Java 언어 개발의 목표는 구현 제약을 최대한 최소화하는 것입니다. WORA(Write Once, Run Anywhere) 개념은 Java 프로그래밍 언어를 제어합니다. 즉, 코드가 빌드되면 다시 작성할 필요 없이 해당 코드를 Java 호환 플랫폼에서 실행할 수 있음을 의미합니다. Java는 웹 개발, 엔터프라이즈급 애플리케이션, Android 개발 및 사물 인터넷(IoT)에 사용되는 정적으로 유형이 지정된 프로그래밍 언어입니다.
공통 게이트웨이 인터페이스에 비해 Java 서블릿의 장점은 무엇입니까?
Common Gateway Interface와 비교할 때 Java Servlet은 상당한 이점(CGI)을 가지고 있습니다. CGI에 비해 Servlet의 첫 번째이자 가장 본질적인 이점은 Servlet이 CGI보다 훨씬 더 나은 성능을 갖는다는 것입니다. CGI와 달리 각 클라이언트 요청에 대해 별도의 프로세스를 구성할 필요가 없습니다. 서블릿은 웹 서버의 주소 공간 내에서만 실행됩니다. Servlet은 Java로 생성되기 때문에 독립적인 플랫폼입니다. 서버의 Java 보안 관리자는 서버의 리소스를 보호하기 위해 일련의 제약 조건을 부과합니다. 결과적으로 서블릿을 신뢰할 수 있습니다. 서블릿은 Java 클래스 라이브러리의 전체 기능에 액세스할 수 있지만 CGI는 전체 라이브러리에 액세스할 수 없습니다.
Servlet의 실제 사용 사례는 무엇입니까?
서블릿은 주로 HTML과 HTTP에서 사용됩니다. 브라우저에서 명시적으로 보낸 데이터를 읽는 데 사용됩니다. 이것은 웹 페이지의 HTML 형식, 응용 프로그램 또는 맞춤형 HTTP 클라이언트 소프트웨어일 수 있습니다. 또한 브라우저의 암시적 HTTP 요청 데이터에 액세스할 수도 있습니다. 여기에는 쿠키, 미디어 종류, 브라우저에서 지원하는 압축 알고리즘 등이 포함됩니다. 그들은 데이터를 처리하고 결과를 도출하는 사람들입니다. 이 절차에서는 데이터베이스와 대화, RMI 또는 CORBA 호출 수행, 웹 서비스에 연결 또는 응답을 직접 계산하는 모든 작업이 필요할 수 있습니다. 또한 문서와 같은 명시적 데이터를 브라우저에 전달하는 데 사용됩니다. 이 문서는 텍스트, 바이너리, 그림, Excel 등을 포함한 여러 다른 형식으로 제공될 수 있습니다.