Hyunebee
스프링MVC - frontController(3) 본문
Servlet 종속성 제거
이제는 요청 파라미터 정보는 자바의 Map을 사용해서 넘긴다. 이전에는 setAttribute를 모델처럼 사용했다 별도의 Model객체를 만들어서 사용한다.
뷰이름도 중복을 제거한다.
/WEB-INF/views/new-form.jsp -> new-form 이렇게 사용할 것이다.
ModelView 지금까지 컨트롤러에서 서블릿에 종속적인 HttpServletRequest를 사용했다. 그리고 Model도 request.setAttribute() 를 통해 데이터를 저장하고 뷰에 전달했다. 서블릿의 종속성을 제거하기 위해 Model을 직접 만들고, 추가로 View 이름까지 전달하는 객체를 만들어보자
ModelView는
viewName을 flied로 가지고있고
HashMap을 통해 model를 받는 다 이때 String, Object인 이유는 다형성을 위해 Object를 사용
ControllerV3(Interface) : ModelView반환(Map<String, String>)
이제는 컨트롤러에서 Servlet기술을 사용하지 않게되었다.
MemberFormControllerV3(implements) : ControllerV3의 구현체
이제는 ModelView를 리턴해준다. 이때 인자는 "new-form" 논리적 이름을 명시해준다.
viewName = new-form
MemberSaveControllerV3(implements) : ControllerV3의 구현체
이제는 getRequestParmeter를 이용하지 않는다. Map에 정보가 담겨서 오게 된다.
이제는 ModelView를 리턴해준다. 이때 인자는 "save-result" 논리적 이름을 명시해준다.
생성한 ModelView에 생성한 member를 삽입해준다.
MemberListControllerV3(implements) : ControllerV3의 구현체
Save와 동일하게 작동한다.
FrontControllerServletV3 - 프론트 컨트롤러
'Spring > MVC' 카테고리의 다른 글
스프링 MVC - 스프링 MVC (0) | 2022.01.15 |
---|---|
스프링MVC - frontController(4) (0) | 2022.01.14 |
스프링MVC - frontController(2) (0) | 2022.01.14 |
스프링MVC - frontController(1) (0) | 2022.01.14 |
스프링MVC - Servlet (0) | 2022.01.11 |