매일 매일 미라클 코딩

MVC 아키텍쳐 - Front Controller (1) 본문

BackEnd

MVC 아키텍쳐 - Front Controller (1)

뚜벅-뚜벅 2021. 2. 7. 18:48


 의미 :

      tomcat으로 부터 바로 '제어 controller'로 전송하던 방식에서 tomcat=> Front controller로 전송

      그리고, Front controller = DispatcherServlet이 되고 Front controller는 PageController로 분기

      즉, 요청 -> 프론트컨트롤러(DispatcherServlet) -> 각 페이지컨트롤러(PageController) -> 뷰 단계로 역할을 분할

 

*PageController: MemberListServlet.. AddServlet... UpdateServlet.. 등 세부 기능


 이유 : 
      1) 역할을 보다 상세히 나눠서 규격화/자동화(Framework)하려고 한다
      2) 스프링 프레임워크의 제작 방식을 따름
      3) Front Controller만 HttpServlet의 상속을 받고
           Page Controller는 일반 자바 클래스로 전환(POJO-Plain Old Java Object)
   
Front Controller(DispatcherServlet)의 역할
      1) tomcat(서블릿 컨테이너)과 연결되어 다른 Page Controller에 분기
      2) Page Controller에 전송할 VO 객체 생성 (향후 자동화)
      3) 서블릿/jsp 이동 처리
      4) Page Controller에서 발생하는 예외처리
       
장점
      1) 다른 WAS 이식할 때 Front Controller만 수정하면 된다
           (Front Controller만 HttpServlet을 상속받으므로)
      2) 브라우저한테 노출하고 싶은 않은 페이지를 감출 수 있다
      3) Page Controller가 하는 공통 역할을 Front Controller에 담았으므로
           자동화(Framework)하기 편리하다