zoukankan      html  css  js  c++  java
  • spring mvc学习笔记1

    spring mvc围绕DispatcherServlet,它负责截获请求并将其分派给相应的处理器。
      spring mvc 包括注解驱动控制器,请求及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理以及表单标签绑定等。这里还是要重提下mvc好处,它利用处理器分离模型视图和控制,达到不同技术层松散耦合的效果,提高系统灵活性,复用性和可维护性,其实真正发明它的大师我觉得更多的是追求一种完美的逻辑体系。下面简要阐述下它处理请求的整体流程。
      1用户发送http请求,web服务器接收这个请求如果匹配DispatcherServlet请求路径(在web.xml中指定),web容器将该请求转给DispatcherServlet处理。
    2 DispatcherServlet接收到请求将根据请求信息(包括url,http方法、请求报文头、请求参数,cookie)及HandlderMapping的配置找到处理请求的处理器(Handler)。可将HandlerMapping看成路由控制器,将Handler看成目标主机。SpringMapping没有定义Handler接口,实际上任何一个Object都可以成为请求处理器。
    3当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter是SprijgMvc框架级的接口,它用统一的接口对各种Handler方法进行调用。
    4处理器完成业务逻辑后将返回一个ModelAndView给DispatcherServlet,ModelAndView包含的是“逻辑视图”名和模型数据信息。
    5ModelAndView包含的是“逻辑视图”名而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真实对象的解析。
    6当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
    7最终客户端得到的响应消息,可能是一个普通的Html界面,也可能是一个xml或json串,甚至是各种媒体等。
  • 相关阅读:
    jQuery-1.9.1源码分析系列(九) CSS操作
    jQuery-1.9.1源码分析系列(八) 属性操作
    jQuery-1.9.1源码分析系列(七) 钩子(hooks)机制及浏览器兼容续
    由一次虚拟内存耗尽看32bits elf在x86_64下运行方式及地址空间布局
    关于TCP关闭想到的一些问题
    pure virtual method called的一种情况
    linux下内存分配时overcommit使用
    gcc对C++局部静态变量初始化相关
    为什么cat binary之后可能出现乱码
    gcc的模版匹配及其它
  • 原文地址:https://www.cnblogs.com/wq123/p/3592732.html
Copyright © 2011-2022 走看看