Request Mapping >
new Request >
xxxController.method() >
Model생성 >
View호출(JSP) with Model >
JSP 동적인 화면을 생성해서 응답으로 클라이언트 전송
유스케이스 하나하나마다 Request URI를 정함 (/board/list, /board/new, /board/rdmove, /board/update, ... ...)
게시물 조회, 등록, 삭제, 수정 등등 유스케이스가 정해져있다면,
어떤 컨트롤러의 어떤 method가 처리를 할건지, request mapping table을 먼저 만들어야 함.
이 맵핑을 @RequestMapping 어노테이션으로 하고,
component-scan을 통해 scanning해서
위 어노테이션이 있으면 bean으로 등록.
컨트롤러 역할을 할 클래스에는 @Controller 어노테이션.
request URI는 화면에 대한 요청일수도, 처리에 대한 요청일수도 있다. (게시판 목록, 상세조회 등은 화면요청이고, 등록, 삭제, 변경 등은 처리 요청임)
get은 주로 화면요청
post는 주로 db 처리요청 (내가 보낸 전송파라미터를 가지고, 실제 db를 조작해달라)
모든 incoming 요청은 DispatcherServlet 받고,(web.xml에 설정되어있음) >> frontController
mapping정보에 따라 처리할 Controller로 요청처리를 위임.
그 처리결과인 model을, 다시 front controller로 보내고,
이 model데이터를 가지고 view(jsp)를 호출함.
view가 응답화면을 만들면, 다시 front controller를 통해 응답함.