2. 사용자 View Dispatcher
Servlet
context-mvc
.xml
Controller Member
Service
Member
Dao
SqlMap
Client
Template
SqlMap
Config
.xml
Member
.xml
submit
/member/list
getController
list
list
list
queryForList
getQuery
getQuery
@Autowired
@Autowired
@Autowired
@Controller
사용자가 회원 목록 한 번 조회하면
SpringMVC를 쓰는 웹 애플리케이션에서는
대략 9명 이상이 등장해서
이처럼 난리 법석을 떤다.
왜 이렇게까지 복잡해야돼?
치고 일단 있는 그대로 알아보기나 하자..
3. DispatcherServlet
무슨 역할?
웹 애플리케이션의 최전방에서
사용자의 요청을 접수하여
URL을 기준으로
요청을 처리할 Controller를
정해진 XML에서 찾고
그 Controller에 처리를 위임하고 결과를 받아서
사용자에게 처리 결과가 담긴 화면 제공
6. DispatcherServlet
설정은 어디에?
web.xml 에 설정
기타
정해진 XML(여기서는 context-mvc.xml)의 정보 활용
사용자 요청을 처리할 Controller 목록과
사용자에게 보여줄 화면을 찾는 ViewResolver
직접 코딩하지 않고 Spring에서 제공하는 Servlet 재사용
9. Controller
무슨 역할?
DispatcherServlet에 의해 호출되어
사용자의 Request를 전달받고,
해당 요청의 비즈니스 처리를 담당하는 서비스 객체를
Spring으로부터 주입(Dependency Injection)받아서,
그 서비스 객체에 처리를 위임하고,
처리 결과와 결과 화면에 대한 정보를
DispatcherServlet에게 반환한다.
13. Service
무슨 역할?
Controller에 의해 호출되어
실제 비즈니스 로직과 트랜잭션을 처리하고,
DB CRUD(Persistence)를 담당하는 DAO 객체를 Spring
으로부터 주입 받아서,
DAO에 DB CRUD 처리를 위임하고,
처리 결과를 Controller에게 반환한다.
29. 사용자 View Dispatcher
Servlet
context-mvc
.xml
Controller Member
Service
Member
Dao
SqlMap
Client
Template
SqlMap
Config
.xml
Member
.xml
submit
/member/list
getController
list
list
list
queryForList
getQuery
getQuery
@Autowired
@Autowired
@Autowired
@Controller
이제 최소한 역할과
어디에서 뭘 어떻게 설정하는지는 이해 했으니
이 시점에서 한 번 더 보면
SpringMVC의 전체 Flow는 감이 와야 되는거다..
왜?는 다음에..