디스퓨처 서블릿
2023. 1. 22. 19:46ㆍ카테고리 없음
mvc패턴의 한계
테스트 코드 작성도 어렵고 , 공통처리가 어렵다
컨트롤러에서 공통처리햐야 하는 요소들이 많아진다.
view를 띄우는 로직 같은 경우도 매번 forward 중복이 된다.
그래서 서블릿이 호출되기 전에 공통된 기능을 처리해야 한다.
문을 지키는 객체가 있어서 이 객체를 통해서 컨트롤러에 요청이
가도록 설계를 한다. 이것이 프론트 컨트롤러 패턴이라고 한다.
이전에는 고객 요청이 오면 서블릿 마다 매핑 된 값으로 찾아서
처리를 했는데 프론트 컨트롤러가 고객의 요청을 다받고 ,
해당 컨트롤러에게 요청만 보낸다, http서블릿을 상속받고 하는 것은
안해도된다.
- 클라이언트의 요청을 디스패처 서블릿이 받음
- 요청 정보를 통해 요청을 위임할 컨트롤러를 찾음
- 요청을 컨트롤러로 위임할 핸들러 어댑터를 찾아서 전달함
- 핸들러 어댑터가 컨트롤러로 요청을 위임함
- 비지니스 로직을 처리함
- 컨트롤러가 반환값을 반환함
- HandlerAdapter가 반환값을 처리함
- 서버의 응답을 클라이언트로 반환함
" 디스패처 서블릿을 통해서 요청을 처리할 컨트롤러를 찾아서 위임하고 , 그결과를 받아온다"