본문 바로가기
서블릿

[서블릿] 서블릿

by 기록하는_사람 2022. 11. 15.

서블릿

📌 서블릿

: 자바 기반 웹 프로그램 개발을 위해 만들어진 기술.

  자바 중심으로 데이터 처리.   자바에서 HTML 코드 사용. 

 

📌 특징

① HttpServlet 클래스를 상속해, 서블릿 틍록에 필요한 정보를 추가해야 함.

② 실행하기 위해서 서블릿 컨테이너가 필요함.

③ 웹 서비스 개발에 특화되어 있음. 

④ 데이터베이스 연동, 외부 서비스 연동을 통해 정적인 웹에 동적인 정보 제공 가능하게 함. 

 

📌 장점

① 자바 API 모두 사용 가능.

② 운영체제나 하드웨어의 영향을 받지 않아, 다양한 서버 환경에서 실행 가능. 

③ 다양한 오픈소스 라이브러리, 개발 도구 사용 가능.

 

📌 단점

① HTML 응답을 위해 출력문으로 문자열 결합 사용해야 함.

② 서블릿에서 HTML 포함하는 경우, 화면 수정 어려움.

③ HTML 폼의 데이터 처리 불편함.

④ 단일 요청과 응답을 처리하는 구조이기 때문에, 다양한 경로의 URL 접근을 하나의 클래스로 처리하기 어려움.

 

💡 서블릿만으로는 실제 서비스 개발에 한계가 있음.

따라서, 아래와 같은 조합으로 구현함.

① 화면 구성을 위해, JSP와 같은 템플릿 엔진 사용.

② REST API 구현을 위해, JAX-RS 사용.

③ 복잡한 서비스 구현을 위해, 프런트 컨트롤러 모델 등 사용.

 

서블릿 동작 과정

📌 서블릿 동작 과정

① HttpServlet 클래스 상속받는 서블릿 클래스 구현.

② 서블릿 컨테이너가 url mapping 설정을 참고해 서블릿 등록함.

③ 서블릿 객체 생성 및 init( ) 메서드 실행.

④ 클라이언트 요청은 스레드로 동시 처리되며, 각각 service( ) 메서드 호출함.

⑤ service( ) 메서드는 doGet( ), doPost( ) 등 프로토콜에 따른 메서드 호출함.

⑥ 컨테이너 종료, 웹 애플리케이션 종료 시점에 destroy( ) 메서드 실행.

⑦ 서블릿 등록 해제.

댓글