Springmvc执行流程介绍[通俗易懂]

Springmvc执行流程介绍[通俗易懂]1.什么是MVCMVC是ModelViewController的缩写,它是一个设计模式。2.springmvc执行流程详细介绍第一步:发起请求到前端控制器(DispatcherServlet)第二步:前端控制器请求HandlerMapping查找Handler,可以根据xml配置、注解进行查找第三步:处理器映射器HandlerMapping向前端控制器返回Handler第四步:前端控制器调用处理器适配器去执行Handler第五步:处理器适配器去执行Handler第

大家好,又见面了,我是你们的朋友全栈君。

目录

 

1.什么是MVC 

2.springmvc执行流程详细介绍

3.springmvc组件详细介绍


1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式。

Springmvc执行流程介绍[通俗易懂]

2.springmvc执行流程详细介绍

Springmvc执行流程介绍[通俗易懂]

第一步:发起请求到前端控制器

第二步:前端控制器请求HandlerMapping查找 Handler,可以根据xml配置、注解进行查找

第三步:处理器映射器HandlerMapping向前端控制器返回Handler

第四步:前端控制器调用处理器适配器去执行Handler

第五步:处理器适配器去执行Handler

第六步:Handler执行完成给适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView,ModelAndView是springmvc框架的一个底层对象,包括Model和view

第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回View

第十步:前端控制器进行视图渲染,视图渲染将模型数据(在ModelAndView对象中)填充到request域

第十一步:前端控制器向用户响应结果

3.springmvc组件详细介绍

1、前端控制器DispatcherServlet(不需要程序员开发)

作用:接收请求,响应结果,相当于转发器,中央处理器。

有了DispatcherServlet减少了其它组件之间的耦合度。

2、处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的url查找Handler

3、处理器适配器HandlerAdapter

作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

4、处理器Handler(需要程序员开发)

注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler

5、视图解析器View resolver(不需要程序员开发)

作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)

6、视图View(需要程序员开发jsp)

View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154089.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 使用StopWatch计算耗时[通俗易懂]

    使用StopWatch计算耗时[通俗易懂]一、传统计算耗时方式一般采用System.currentTimeMillis()来获取时间,然后打印当前时间与任务开始执行时间的差值。记录开始时间点记录结束时间点输出当前时间与任务开始执行时间的差值代码如下:publicstaticvoidmain(String[]args)throwsInterruptedException{longstartTime=System.currentTimeMillis();//dos

  • 时间字符串转换为date_怎么将字符串转成日期

    时间字符串转换为date_怎么将字符串转成日期/***字符串时间格式转Date格式*@paramstrDate*@return*/publicstaticDategetDateTimeByStringTime(StringstrDate){//如果参数为空,直接返回if(strDate==null){return…

  • python生兔子问题(递归算法)_java实现斐波那契数列

    python生兔子问题(递归算法)_java实现斐波那契数列兔子产子1.问题描述有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总对数为多少?2.问题分析兔子产子

  • 字典树的数据结构_数据结构快速排序

    字典树的数据结构_数据结构快速排序本文主要包括以下内容:Trie字典树的基本概念Trie字典树的基本操作插入查找前缀查询删除基于链表的Trie字典树Set性能对比LeetCode相关线段树的问题LeetCode第208号问题LeetCode第211号问题LeetCode第677号问题Trie字典树的基本概念上一篇我们介绍了线段树(SegmentTree),本文主要介绍Trie字典树…

  • plsqldev怎么备份和还原数据库

    plsqldev怎么备份和还原数据库
    一、导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。1、简单导出数据(Export)和导入数据(Import):Oracle支持三种方式类型的输出:(1)、表方式(T方式),将指定表的数据导出。(2)、用户方式(U方式),将指定用户的所有对象及数据导出。(3)、全库方式(Full方式),瘵数据库中的所有对象导出。数据导

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号