디스퓨처 서블릿

2023. 1. 22. 19:46카테고리 없음


mvc패턴의 한계
테스트 코드 작성도 어렵고 , 공통처리가 어렵다
컨트롤러에서 공통처리햐야 하는 요소들이 많아진다.
view를 띄우는 로직 같은 경우도 매번 forward 중복이 된다.

그래서 서블릿이 호출되기 전에 공통된 기능을 처리해야 한다.
문을 지키는 객체가 있어서 이 객체를 통해서 컨트롤러에 요청이 
가도록 설계를 한다. 이것이 프론트 컨트롤러 패턴이라고 한다.


이전에는 고객 요청이 오면 서블릿 마다 매핑 된 값으로 찾아서 
처리를 했는데  프론트 컨트롤러가 고객의 요청을 다받고 , 
해당 컨트롤러에게 요청만 보낸다, http서블릿을 상속받고 하는 것은
안해도된다.

 

 

  1. 클라이언트의 요청을 디스패처 서블릿이 받음
  2. 요청 정보를 통해 요청을 위임할 컨트롤러를 찾음
  3. 요청을 컨트롤러로 위임할 핸들러 어댑터를 찾아서 전달함
  4. 핸들러 어댑터가 컨트롤러로 요청을 위임함
  5. 비지니스 로직을 처리함
  6. 컨트롤러가 반환값을 반환함
  7. HandlerAdapter가 반환값을 처리함
  8. 서버의 응답을 클라이언트로 반환함

 

" 디스패처 서블릿을 통해서 요청을 처리할 컨트롤러를 찾아서 위임하고 , 그결과를 받아온다"