https://www.educba.com/servlet-architecture/
- Servlet
- 웹 애플리케이션을 만들 때 필요한 인터페이스
- 웹 프로그래밍에서의 역사
- 처음에는 정적 데이터만 전달할 수 있었다.(사용자에 따라 공통된 페이지 반환)
- 동적 데이터를 처리하기를 원하면서 CGI가 등장한다.
- CGI(Common Gate Interface)
- 문제
- 요청이 들어올 때마다 프로세스를 만든다.
- 프로세스: 메모리에 적재된 실행 중인 프로그램 인스턴스
- 같은 구현체를 사용해도 요청이 다르다면 개별로 구현체가 생성된다.
- =>그 결과, 싱글톤 패턴으로 바뀌게 되면서 서블릿이 등장한다.
- 메서드(서블릿 컨테이너 호출)
- init: 서블릿 인스턴스를 생성한다.
- service: 실제 기능이 구행되는 곳
- destory(): 컨테이너가 종료될 때 서블릿 인스턴스를 없앤다.
https://www.tutorialspoint.com/spring/spring_web_mvc_framework.html
- Spring(Web MVC)
- 서블릿으로 MVC패턴을 사용하여 웹서비스를 만드는 스프링 프레임워크 모듈
- 스프링이 서블릿을 사용하는 방법