最近在复习Spring MVC框架,虽然看懂了,但是到用时还是容易忘记,所以在这里做一下总结。
下图是我参考了书上资料自己动手画的图(个人觉得平时这些类似的图应该多画一下,可以加深记忆):
关于各个步骤上图已经说得很清楚啦,下面就来说一下流程中出现的各个组件功能吧:
前端控制器(DispatcherServlet):接受用户请求,然后给用户反馈结果;相当于一个转发器或者中央处理器,控制整个流程的执行;对各个组件进行统一调度,降低了组件之间的耦合性,有利于组件之间的扩展。
处理映射器(HandlerMapping):根据请求的URL路径,通过注解或者XML配置,寻找匹配的处理器(Handler)信息。
处理适配器(HandlerAdapter):根据映射器找到的处理器(Handler)信息,按照特定规则执行相关的处理器(Handler).
处理器(Handler):执行相关的请求处理逻辑,并返回ModelAndView对象。
视图解析器(View Resolver):解析ModelAndView对象,将逻辑视图名解析成真正的视图View。
视图(View):本身是一个接口,实现类支持不同的View类型(JSP、FreeMarker、Excel等)。
上文参考:
《Spring MVC+MyBatis开发 从入门到项目实战》 ——朱要光/编著