zoukankan      html  css  js  c++  java
  • 前端控制器

         用户端的请求通过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中具体的方法和相应注解配置。

  • 相关阅读:
    git, tornado 小计
    算法小计-列表排列
    CMDB小计1
    linux 中mysql的主从复制
    SQL语句的种类
    mysql的结构,段页区,及客户端命令
    mysql的程序结构,实例, 及mysql的多实例
    在linux中操作mysql误删root用户的应对方法
    MySQL面试
    linux下载安装mysal
  • 原文地址:https://www.cnblogs.com/sunqian/p/5414116.html
Copyright © 2011-2022 走看看