서블릿
📌 서블릿
: 자바 기반 웹 프로그램 개발을 위해 만들어진 기술.
자바 중심으로 데이터 처리. → 자바에서 HTML 코드 사용.
📌 특징
① HttpServlet 클래스를 상속해, 서블릿 틍록에 필요한 정보를 추가해야 함.
② 실행하기 위해서 서블릿 컨테이너가 필요함.
③ 웹 서비스 개발에 특화되어 있음.
④ 데이터베이스 연동, 외부 서비스 연동을 통해 정적인 웹에 동적인 정보 제공 가능하게 함.
📌 장점
① 자바 API 모두 사용 가능.
② 운영체제나 하드웨어의 영향을 받지 않아, 다양한 서버 환경에서 실행 가능.
③ 다양한 오픈소스 라이브러리, 개발 도구 사용 가능.
📌 단점
① HTML 응답을 위해 출력문으로 문자열 결합 사용해야 함.
② 서블릿에서 HTML 포함하는 경우, 화면 수정 어려움.
③ HTML 폼의 데이터 처리 불편함.
④ 단일 요청과 응답을 처리하는 구조이기 때문에, 다양한 경로의 URL 접근을 하나의 클래스로 처리하기 어려움.
💡 서블릿만으로는 실제 서비스 개발에 한계가 있음.
따라서, 아래와 같은 조합으로 구현함.
① 화면 구성을 위해, JSP와 같은 템플릿 엔진 사용.
② REST API 구현을 위해, JAX-RS 사용.
③ 복잡한 서비스 구현을 위해, 프런트 컨트롤러 모델 등 사용.
서블릿 동작 과정
📌 서블릿 동작 과정
① HttpServlet 클래스 상속받는 서블릿 클래스 구현.
② 서블릿 컨테이너가 url mapping 설정을 참고해 서블릿 등록함.
③ 서블릿 객체 생성 및 init( ) 메서드 실행.
④ 클라이언트 요청은 스레드로 동시 처리되며, 각각 service( ) 메서드 호출함.
⑤ service( ) 메서드는 doGet( ), doPost( ) 등 프로토콜에 따른 메서드 호출함.
⑥ 컨테이너 종료, 웹 애플리케이션 종료 시점에 destroy( ) 메서드 실행.
⑦ 서블릿 등록 해제.
'서블릿' 카테고리의 다른 글
[서블릿] 정보 공유 - URL rewriting, 쿠키, 세션 (0) | 2022.11.15 |
---|---|
[서블릿] 페이지 이동 (0) | 2022.11.15 |
[서블릿] 서블릿 생명 주기 (0) | 2022.11.15 |
[서블릿] 서블릿 정보 등록 방법 (0) | 2022.11.15 |
[서블릿] 서블릿 클래스 (0) | 2022.11.15 |
댓글