在看《跟开涛学SpringMVC.pdf》
/Users/baidu/Documents/Data/Interview/Java
Spring Web MVC 也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet;应用控制器其实 拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理; 页面控制器/动作/ 处理器为 Controller 接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以 是任何的 POJO 类); 支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、 格式化和数据绑定机制; 提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
服务到工作者模式(service to worker pattern)图示如下:
SpringMVC是请求驱动,处理请求的流程简化如下(其中应用控制器、页面控制器等没有分清楚):
而具体的SpringMVC的核心架构图,如下所示(应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理 ):
再好好地领悟下这段话:
Spring Web MVC 也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet;应用控制器其实 拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理; 页面控制器/动作/ 处理器为 Controller 接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以 是任何的 POJO 类); 支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、 格式化和数据绑定机制; 提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。