zoukankan      html  css  js  c++  java
  • SpringMVC工作原理

    1.Spring MVC概述:

    Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

    Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是两个核心:

    处理器映射:选择使用哪个控制器来处理请求 
    视图解析器:选择结果应该如何渲染

    2.SpringMVC运行原理

    上面的是springMVC的工作原理图:

    1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.

    2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。

    3-4、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。

    5、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。

    6、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。

    7、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。

    组件说明:

    以下组件通常使用框架提供实现:

    DispatcherServlet:作为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,降低组件之间的耦合性,提高每个组件的扩展性。

    HandlerMapping:通过扩展处理器映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。 

    HandlAdapter:通过扩展处理器适配器,支持更多类型的处理器。

    ViewResolver:通过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。

  • 相关阅读:
    逆向技术汇总
    绕过安全软件设置注册表
    内存空间中的句柄,指针,对象,类
    COM组件的逆向
    组策略设置隔离文件夹
    VS2015驱动环境配置
    python批量提取eml附件
    反沙箱——SetErrorMode
    CrypMic分析报告
    反调试——jmp到那个地址
  • 原文地址:https://www.cnblogs.com/tianwanfang/p/7922664.html
Copyright © 2011-2022 走看看