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串,甚至是各种媒体等。
  • 相关阅读:
    Android标题栏最右边添加按钮
    Activity标题栏添加返回按钮
    【Android】解决Android横竖屏切换数据丢失问题的方法
    Android热更新,到底是更新啥?
    vm ware 虚拟WIN10 时,chrome ,cent browser 显示异常,花屏
    动态生成的 select option 无法选中,设置值
    安装sql 2012 时遇到“需要更新的以前的 Visual Studio 2010 实例。”规则失败。
    C#.NET 简单使用log4net
    10位,13位时间戳转为C#格式时间
    C# .NET Unix 时间戳
  • 原文地址:https://www.cnblogs.com/wq123/p/3592732.html
Copyright © 2011-2022 走看看