zoukankan      html  css  js  c++  java
  • SpringMVC简介

    ---------------------siwuxie095

       

       

       

       

       

       

       

       

    SpringMVC 简介

       

       

    1、SpringMVC 是应用在 Java EE 三层架构中的 Web 层的框架。和众多

    其他 Web 框架一样,它基于 MVC 的设计理念。此外,它采用了松散耦合

    可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性

       

    参考链接:http://www.iteye.com/blogs/subjects/springmvc-explore

       

       

       

    2、SpringMVC 通过一套 MVC 注解,让 POJO 无需实现任何接口即可成

    为处理请求的控制器。同时,SpringMVC 还支持 RESTful 风格的 URL 请

    求。此外,SpringMVC 在数据绑定、视图解析、本地化处理及静态资源处

    理上都有许多不俗的表现

       

    它在框架设计、扩展性、灵活性等方面全面超越了 Struts、WebWork 等

    MVC 框架,从原来的追赶者一跃成为 MVC 的领跑者

       

       

       

    3、SpringMVC 相关文档链接

       

    1)中文文档:

       

    https://linesh.gitbooks.io/spring-mvc-documentation-linesh-translation/content/

       

    2)英文文档:

       

    https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html

       

       

       

    4、Spring 的体系结构如下,其中:SpringMVC 位于 Web 模块中的 Servlet

       

       

       

    注意:SpringMVC 并不是位于 Web 模块中的 Web

       

       

       

    5、SpringMVC 是请求驱动,围绕 DispatcherServlet 这个核心进行展开,

    DispatcherServlet 是 SpringMVC 的中央处理器,它负责把所有请求分发

    到控制器。下图正是 DispatcherServlet 处理请求的工作流

       

       

    「DispatcherServlet 应用的正是前端控制器的设计模式」

       

       

       

       

    6、具体流程:

       

    1用户发送请求到 DispatcherServlet

       

    2DispatcherServlet 调用 HandlerMapping 查找 Handler

       

    3)HandlerMapping DispatcherServlet 返回 HandlerExecutionChain,

    其中包含 Handler 和 HandlerInterceptor[]

       

    4DispatcherServlet 调用 HandlerAdapter Handler 进行包装

       

    5)HandlerAdapter 执行 Handler(实际上是 Controller),处理业务逻辑

       

    6Handler 执行完成,向 HandlerAdapter 返回 ModelAndView,其中包

    Model 和 ViewName

       

    7)HandlerAdapter DispatcherServlet 返回 ModelAndView

       

    8DispatcherServlet 调用 ViewResolver 进行视图解析

       

    9)ViewResolver DispatcherServlet 返回 View

       

    10DispatcherServlet 调用 View 进行视图渲染,将 Model 中的数据填充

    到 Request 域

       

    11)View 向 DispatcherServlet 返回渲染后的视图(html/json/xml/…)

       

    12DispatcherServlet 返回响应给用户

       

       

    参考链接:

       

    参考链接1参考链接2参考链接3参考链接4参考链接5参考链接6

       

       

       

       

    7、综上所述:

       

    整个流程其实就是 DispatcherServlet HandlerMappingHandlerAdapter

    ViewResolverView 四者依次交互,并在 HandlerAdapter 处执行 Handler

       

       

       

       

    8、SpringMVC 中的名词释义

       

    DispatcherServlet

    核心分发器、前端控制器

    HandlerMapping

    处理器映射

    HandlerAdapter

    处理器适配器

    HandlerExceptionResolver

    处理器异常解析器

    ViewResolver

    视图解析器

    LocaleResolver

    地区解析器

    LocaleContextResolver

    地区上下文解析器

    ThemeResolver

    主题解析器

    HandlerExecutionChain

    处理器执行链

    HandlerInterceptor

    处理器拦截器

       

    注:以上都是 SpringMVC 中的类或接口

       

       

       

    9Controller(控制器) 和 Handler(处理器)的异同

       

    1)Controller 是 SpringMVC 中的接口(实),Handler 是 SpringMVC 中的概念(虚)

       

    2)Controller 一定属于 Handler,但 Handler 却不一定属于 Controller

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    CSRF-防御与攻击
    windows 命令
    Integer.parseInt(String str, int i)
    springCloud springmvc 七牛云存储整合百度富文本编辑器
    jsp 文件
    标签的使用
    富文本编辑器
    项目总结 js
    namenode 和 datanode 节点
    Hadoop wordcount
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/8486271.html
Copyright © 2011-2022 走看看