spring-mvc-01.Spring MVC基本概念

ShellScript
• 阅读 1210

1.1 Spring MVC基本概念
spring-mvc-01.Spring MVC基本概念spring-mvc-01.Spring MVC基本概念

  1. DispatcherServlet
    前端控制器,前端用户的request请求通过DispatcherServlet分发给各个控制器来生成业务数据Model,再通过DispatcherServlet传递给View完成最终的页面呈现。可以说Spring MVC将数据业务逻辑和页面呈现分离是通过DispatcherServlet完成的。
    spring-mvc-01.Spring MVC基本概念
  2. HandlerAdapter
    Handler是DispatvherServlet内部使用的一个类,是DispatcherServlet调用Controller的一个中间过渡对象,可以看做是controller的一种表现形式,在Spring MVC中,通过各种annotation来识别Controller,但是Spring MVC中没有类似于接口的controller或者interface来找到controller,最终controller以handler形式出现。
    HandlerAdapter是适配器模式,将各种不同类型的handler适配成DispatcherServlet
    可以使用的handler,DispatcherServlet就可以很轻松的调用controller。
  3. HandlerInterceptor
    拦截器,在被拦截对象的前后添加操作,这个接口有三种方法,preHandle,postHandle,afterCpmpletion。
  4. HandlerMapping
    Mapping就是DispatcherServlet和Controller之间映射关系的一种类,负责告诉DispatcherServlet在一个请求到来之后由哪一个Controller来响应本次请求。
    在HandlerMapping工作完毕之后,会给DispatcherServlet返回一个HandlerAdapter,其中包括的内容一方面是某一个Controller具体的实例,另一方面是Controller被包裹的HnadlerInterceptor,构成了一个执行的链条HandlerExecutionChain往下走。
    spring-mvc-01.Spring MVC基本概念
  5. HandlerExecutionChain
    spring-mvc-01.Spring MVC基本概念
  6. ModelAndView
    无论是Model还是Map,最终在DispatcherServlet中都会转换成ModelAndView,所以可以把ModelAndView看作Model的具体表现。
  7. ViewResolver
    视图解析器,通过配置找出要呈现的视图,例如jsp,jstl。
  8. View
    负责呈现页面。
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
SOFA入门
!image.png(https://img2020.cnblogs.com/other/268922/202005/26892220200526225532744374908114.png)简介scalableopenfinancialarchitecturestack,可扩展开放的金融架构栈;github: htt
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
九路 九路
4年前
一个爬虫的故事:这是人干的事儿?
本文转载自轩辕之风的文章,链接https://mp.weixin.qq.com/s/YygbUWpa2mbPZPuPNhdt2w爬虫原理我是一个爬虫,每天穿行于互联网之上,爬取我需要的一切。image.png(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/656d
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
OptaPlanner逐步学习(0) : 基本概念
  之前的文章中,分别从APS,排产到规划引擎叙述了一些理论基础;并介绍了一些OptaPlanner大概的情况;并一步步将Optaplanner的示例运行起来,将示例源码导进Eclipse分析了一下它的Helloworld入门示例,从本篇开始,我们将分步学习它的一些概念及用法。 什么是OptaPlanner  其实这个
Wesley13 Wesley13
3年前
DDD之1微服务设计为什么选择DDD
!image.png(https://img2020.cnblogs.com/other/268922/202005/26892220200530154854033191971129.png)背景名词解释!file(https://img2020.cnblogs.com/other/268922/202005/26892220
CRM从哪些方面进行了管理?
我们将CRM(https://www.sap.cn/products/crm.html!image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/17e2d96568a98f0