스프링은 싱글톤을 보장
서블릿, JSP, MVC 패턴
서블릿으로 직접 HTML 만들다가 너무 불편해서 JSP로 가고, 그래도 역할이 섞여 있어서 결국 MVC 패턴으로 분리하는 흐름.
Member
MemberRepository
- 저장소는 싱글톤으로 구현
- 아직 스프링 없이 순수 서블릿으로 가는 단계라 싱글톤 패턴 사용
- 테스트 코드에서
clearStore()로 상태 초기화하는 부분 중요
서블릿으로 구현해보니
MemberFormServlet: 회원 등록 폼 응답
MemberSaveServlet: 요청 파라미터 꺼내서 저장하고 결과 HTML 응답
MemberListServlet: 저장된 회원 목록을 HTML로 직접 만들어서 응답
서블릿 정리
- 동적 HTML 만들 수 있다는 건 좋음
- 근데 자바 코드 안에서 HTML을 문자열로 계속 붙여야 해서 너무 불편
- 화면이 조금만 복잡해져도 유지보수 난이도 확 올라감
- 화면 코드와 비즈니스 로직이 너무 가깝게 붙어 있음
그래서 JSP 등장
- JSP는 HTML 중심으로 작성 가능
- 필요한 곳에만 자바 코드를 끼워 넣을 수 있음