Spring Web MVC 处理Http 请求的大致过程: 一旦Http 请求到来,DispatcherSevlet 将负责将请求分发
DispatcherServlet可以认为是 Spring 提供的前端控制器,所有的请求都有经过它来统一分发
在 DispatcherServlet 将请求分发给 Spring Controller 之前,需要借助于 Spring提供的HandlerMapping 定位到具体的Controller
HandlerMapping 是这样一种对象,它能够完成客户请求到Controller 之间的映射
在 Struts 中,这种映射是通过struts-config
xml 文件完成的
其中,Spring 为 Controller 接口提供了若干实现,例如 Spring 默认使用的BeanNameUrlHandlerMapping
还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping
Spring Controller 将处理来自 DispatcherServlet 的请求
Spring 的Controller类似于 struts 的Action,能够接受 HttpServletRequest 和 HttpServletResponse
Spring 为 Controller 接口提供了若干实现类,位于org
springframework
servlet
mvc 包中
由于 Controller 需要为并发用户处理上述请求,因此实现 Controller 接口时,必须保证线程安全并且可重用
Controller 将处理客户请求,这和 Struts Action 扮演的角色是一致的
一旦Controller 处理完客户请求,则返回 ModelAndView 对象给Dispat