간단히 서술하면 자바 언어를 이용하여 웹을 만들기 위한 기술을 의미하고 좀 더 자세히 말해보자면 클라이언트의 요청을 받고 그에 대응되는 결과를 반환해주는 자바 프로그램을 서블릿이라고 말한다.
Ex) 클라이언트가 로그인을 하기 위해 아이디와 비밀번호를 입력을 하게 되면 서버는 해당 입력 값이 유효한지를 검사를 하고 유효이 여부에 따라 적합한 응답(페이지orAlert)를 반환한게 된다. -> 이러한 역할을 하는 것을 서블릿이라고 말한다.🙂

1. 클라이언트가 URL을 입력하고, HTTP request가 Servlet Container로 전송이 된다.
2. 요청을 받은 ServletContainer는 HttpServletRequest, HttpServletResponse객체를 생성을 한다.
HttpServletRequest:클라이언트가 입력한 데이터를 담는 객체를 의미함.
HttpServletResponse::입력에 대응되는 결과를 저장하는 객체를 의미.
3. web.xml을 이용하여 입력(요청한 URL)이 대응되는 서블릿이 무엇인지 탐색을 한다.
4. 탐색이 된 서블릿은 service 메소드를 실행하고 클라이언트의 Get, Post의 여부에 따라서 doGet(), doPost()를 호출한다.->만약 해당이 되는서블릿의 클래스가 컨테이너에 로딩되지 않았으면, init()을 통해 새로운 서블릿이 초기화 된다. 이후 과정은 똑같이 동작한다.🙂
5. doGet(), doPost()는 동적 페이지를 생성을 하고 HttpSelverResponse 응답을 반환한다.
6. 작업이 완료되면 작성된 HttpServleResonse, HttpServletResonse 객체는 소멸된다.
참고: 정적 페이지와 동적 페이지
정적 페이지: 사진과 단순한 텍스트와 같이 클라이언트와 상호작용과는 관계 없이 늘 똑같은 형식으로 표현되는 페이지를 의미한다.
동적 페이지: 클라이언트와의 상호작용에 의해 반환 값이 변화되는 페이지를 의미함-> 로그인 페이지, 쇼핑몰 메인, 장바구니 페이지 등 현재 대부분의 웹 페이지들을 의미함.
https://devpoong.tistory.com/44
https://mangkyu.tistory.com/14