-
(개발지식) 10 - Dispatcher-Servlet(디스패처 서블릿)개발/개발지식 2024. 1. 15. 13:25
■ Dispatcher-Servlet 의 개념
HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러
※ 프론트 컨트롤러란(Front Controller)?
: 주로 서블릿 컨테이너 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 받아서 처리해주는
컨트롤러로써, MVC 구조에 함께 사용되는 디자인 패턴
클라이언트로부터 요청이 오게 되면, Tomcat(톰캣)과 같은 서블릿 컨테이너가 요청을 받게 된다.
이 모든 요청을 프론트 컨트롤러인 디스패처 서블릿이 가장 먼저 받는다.
디스패처 서블릿은 공통적인 작업을 먼저 처리한 후
해당 요청을 처리해야 하는 컨트롤러를 찾아 작업을 위임하게 된다.
※ 서블릿이란?(Servlet)
: 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술
즉, 자바를 사용해서 웹을 만들기 위해 필요한 기술.
클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해줘야 하는데, 그런 역할을 하는 자바 프로그램이
바로 Servlet 이다.
※ 서블릿 컨테이너(Servlet Container)
: 서블릿을 관리해주는 컨테이너
즉 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게 웹서보와 소켓으로 통신하며
대표적인 예로 톰캣(Tomcat)이 있다.
톰캣은 실제로 웹서버와 통신하여 JSP(자바 서버 페이지)와 Servlet이 작동하는 환경을 제공해준다.
사용자가 로그인 시도 시 아이디와 비번을 입력하고 로그인 버튼을 누른다.
서버가 클라이언트의 아이디와 비밀번호 확인 후 다음 페이지를 띄워주어야 하는데
여기서 이런 화면을 띄워주는 즉, 결과값을 반환하게 해주는 것이 바로 서블릿이다.
그래서 서블릿은 자바로 구현된 CGI(Common Gateway Interface) 라고 흔히 말한다.
일반적으로 웹서버는 정적인 페이지만을 제공한다.
그렇기 때문에 동적인 페이지를 제공하기 위해서 웹서버는 다른 곳에 도움을 요청하여 동적인 페이지를 작성해야 한다.
웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이며,
동적인 페이지를 생성하는 어플리케이션이 CGI입니다.
* CGI
: 공통 게이트웨이 인터페이스의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약
https://mangkyu.tistory.com/14
'개발 > 개발지식' 카테고리의 다른 글
(개발지식) 12 - 프레임워크(Framework) 란? + Spring vs SpringBoot (0) 2024.01.24 (개발지식) 11 - REST / RESTful / RESTful API 란? (0) 2024.01.16 (개발지식) 9 - 인터넷 기본 도메인, 호스팅, 포워딩 (0) 2023.12.14 (개발지식) 8 - 포트 끊기 ( Web server failed to start. Port 80 was already in use.) (0) 2023.09.14 (개발지식) 7 - 모달 만들기 (닫히지 않는 모달) (0) 2023.09.08