서블릿(Servlet)은 Java 언어를 기반으로 웹 어플리케이션 동적인 처리를 담담하는 자바 클래스이다.
HTTP 요청을 받아들이고 비즈니스 로직을 수행하고 동적으로 HTML 페이지를 생성합니다.
Servlet을 사용하기 전에는 정적 페이지(웹 서버에 미리 저장되고 저장된 데이터가 변경되지 않고 고정된 페이지)로 동적 페이지(클라이언트의 요청 및 여러 상황에 따라 데이터가 달라지는 페이지)를 제공하기 어려웠습니다. 이후 Servlet을 사용하여 동적 콘텐츠를 쉽게 생성하여 클라이언트에게 제공합니다.
HTTP 프로로콜 동작하며 클라이언트, 서버 간의 상호작용이 쉽게 가능해졌고 컨테이너 기능을 제공하여(Apache Tomcat)에서 동작하고 세션 관리, 보안 기능, 스레드 관리등을 활용할 수 있습니다.

<!-- ex) 서블릿 선언 -> 서블릿 클래스와 URL 패턴을 설정한다.-->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Get 요청 처리 로직
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// POST 요청 처리 로직
}
[참고자료]
https://mangkyu.tistory.com/14
https://medium.com/javarevisited/servlet-things-every-java-developer-must-know-servlet-container-filter-and-listener-374a460169bd