• 前端控制器


         用户端的请求通过http协议到达前端控制器,前端控制器了解业务请求该由谁来处理,将请求代理给了控制器,控制器了解具体的业务细节,调用业务逻辑生成数据,并将数据返回给前端控制器,前端控制器将业务数据分发给业务视图,业务视图将呈现好的页面返还给前端控制器,返回用户浏览器。

        mvc的核心思想是业务数据的抽取同业务数据的呈现相分离。mvc是一种架构模式,程序分层,分工合作,既相互独立又协同工作。

    springmvc的静态概念
    DispatcherServlet这个类就是前端控制器
    Controller 控制器,用于生成业务数据模型
    HandlerAdapter,DispatcherServlet通过它来知道去调用哪个Controller,是一个适配器模式。
    HandlerInterceptor,是一个拦截器接口,通过方法在拦截前后做一些操作。
    HandlerMapping处理前端控制器和controller之间映射关系的类。
    HandlerExecutionChain,handler执行链HandlerInterceptor的preHandlle方法--Controller的某个方法--postHandle方法--afterCompletion方法。
    ModelAndView,springmvc会将model类、javamap类转化为ModelAndView类。
    ViewResolver视图解析器,
    View界面

    springmvc的动态概念

    1.用户请求request发送给DispatcherServlet,通过HandlerMapping找到对应的Controller或HandlerInterceptor中具体的方法得到数据,形成一个Handler或HandlerAdapter再返回给DispatcherServlet,。主要通过注解实现
    2.ModelAndView完成模型和视图之间的映射,DispatcherServlet通过ViewResolver找到对应的视图,形成页面返回给浏览器。

    说明:主要需要编写的就是Controller或HandlerInterceptor中具体的方法和相应注解配置。

  • 相关阅读:
    ElasticSearch查询多条件同时满足时返回所需数据
    Linux环境下安装ElasticSearch
    微博抓取照片视频
    numpy 常用方式
    Centos最小化安装 AWVS 的坑
    使用centos安装nessus 8.15,并解除IP限制
    Linux CentOS7 开通端口外网端口访问权限
    VSCode配置C语言环境
    Python MySQL
    web7
  • 原文地址:https://www.cnblogs.com/sunqian/p/5414116.html
Copyright © 2020-2023  润新知