zoukankan      html  css  js  c++  java
  • SpringMVC详解

    SpringMVC 处理请求流程


    1.用户发送请求至前端控制器DispatcherServlet

    2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

    4.DispatcherServlet通过处理器适配器调用controller

    5.执行处理器Controller

    6.Controller执行完成返回ModelAndView

    7.处理器适配器调用处理器将controller执行结果ModelAndView返回给DispatcherServlet

    8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器

    9.视图解析器解析后返回具体View

    10.DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。

    11.DispatcherServlet响应用户

    下面我们对上面出现的一些组件进行解释:

     
    1、前端控制器DispatcherServlet(不需要程序员开发)。
      作用:接收请求,响应结果,相当于转发器,中央处理器。有了DispatcherServlet减少了其它组件之间的耦合度。
    2、处理器映射器HandlerMapping(不需要程序员开发)。
      作用:根据请求的url查找Handler。
    3、处理器适配器HandlerAdapter(不需要程序员开发)。
      作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler。
    4、处理器Handler(需要程序员开发)。
      注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
    5、视图解析器ViewResolver(不需要程序员开发)。
      作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
    6、视图View(需要程序员开发jsp)。
      注意:View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
    ps:不需要程序员开发的,需要程序员自己做一下配置即可。

      可以总结出:需要我们开发的工作只有处理器 Handler 的编写以及视图比如JSP页面的编写。可能你还对诸如前端控制器、处理器映射器等等名词不太理解,那么接下来我们对其进行详细的介绍。

     

    handlerMapping的作用

    handlerMapping根据用户请求找到执行该请求的controller。

    handlerMapping的找到controller过程

    1.根据配置文件对url到controller的映射进行注册

    2.根据具体的url请求找到执行该请求的controller

  • 相关阅读:
    前端常用代码
    前端常用代码
    Velocity模版自定义标签
    算法思想
    java特性之三--多态性
    非线性数据结构--图
    接口
    java特性之四--抽象
    (数据结构与算法) 堆
    数据结构_平衡二叉树(AVL树)
  • 原文地址:https://www.cnblogs.com/yuyangcoder/p/9922352.html
Copyright © 2011-2022 走看看