클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술.
예를 들어, 어떠한 사용자가 로그인을 하려고 할 때. 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누릅니다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 서블릿(Servlet)입니다.

클라이언트 요청에 따라 서블릿 컨테이너는
1. service() 메서드를 호출하고,
2. service() 메서드는 요청이 GET인지 POST인지 구분하여
각각 doGet(), doPost() 메서드를 호출한다.
클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트
html을 사용하여 요청에 응답한다.
Java Thread를 이용하여 동작한다.
MVC 패턴에서 Controller로 이용된다.
HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다.
UDP보다 처리 속도가 느리다.
HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.
HttpServlet 클래스에서 사용자 요청을 처리하는 doGet/doPost 메서드는 모두 HttpServletRequest와 HttpServletResponse 객체를 매개변수로 가지고 있다.
HttpServletRequest와 HttpServletResponse 객체는 서블릿과 클라이언트 사이를 연결해주는 중요한 객체들 이다.