通俗易懂SpringMVC整体框架理解
来源:互联网 发布:淘宝价格数字字体 编辑:程序博客网 时间:2024/06/05 00:34
最近又重新温习了一下前台SpringMVC框架,能够从整体上对SpringMVC有一个全局的认识。在这里也总结一下,为那些即将学习SpringMVC的亲们,做一个很好的开端吧!
1. SpringMVC整体框架图
学习某一种技术的话,要能够从宏观上把握一下这种技术的大致实现原理,然后才开始刨根问底的学习,这种技术的细节,这样会快也一些。首先从宏观上把控一些知识点之间的联系,学习起来更有连贯性,下面就先从SpringMVC的框架图来整体分析一下。
上图就是SpringMVC整体的框架图,就这么几个部分。下面来着重的分析一下,整个过程中的流转。
1.首先是用户发送请求,比如在浏览器中输入http://localhost:8080/SpringTest/login
2.用户的请求就发送到了DispatcherServlet也就是前端控制器,这个东西是一个Servlet的实现,用来干什么呢?用来接收用户的请求,然后响应结果,相当于一个转发器,它的配置如下
3.经过DispatcherServlet过滤后URL后,比如上述的URL是http://localhost:8080/SpringTest/login,那么这时候就进入到了HandleMapping也就是映射处理器。这是用来干什么的呢?就是用来根据URL来匹配我们的处理器(或者就做控制器),比如我们请求的路径最后结尾的字母是login,那么让那个控制器来为我们服务呢?这时候就靠HandleMapping来处理了。下面列一下SpringMVC中的几种处理映射器。
3.1 BeanNameUrlHandlerMapping:用来根据控制器的name属性来匹配要处理的映射器,配置如下
经过这样配置的话,就可以通过/queryItems_test来查找我们的控制器了
3.2 SimpleUrlHandlerMapping:根据URL来映射匹配
3.3 RequestMappingHandlerMapping:3.1后引入的新的特性,注解适配器,直接通过Controller标签即可识别
4.接着向下走,通过映射处理器就找到了我们需要处理用户请求的控制器也就是Handler,那么此时还需要HandlerAdapter(处理器适配器)来,作用就是要按照特定规则(HandlerAdapter要求的规则)去执行Handler。常见的适配器如下
4.1 SimpleControllerHandlerAdapter:要求handler实现Controller接口
SimpleControllerHandlerAdapter将会调用处理器的handleRequest方法进行功能处理,该处理方法返回一个ModelAndView给DispatcherServlet;当然了也有对应的注解适配器
4.2 HttpRequestHandlerAdapter:要求编写的Handler实现HttpRequestHandler接口
4.3.注解适配器有RequestMappingHandlerAdapter,用来配合注解的开发
5.接着向下走,经过适配器调用控制器的方法后,就会想前端控制器返回一个ModelView,包含我们需要信息的pojo对象和视图信息。
6.前端控制器开始解析视图信息,通过视图解析器(View Resolver),进行视图解析,根据逻辑视图名解析成真正的视图(view)。如下配置
8.最后一部操作了,解析完视图信息后,就把modelview中的model信息传递到我们的view界面上,整个流程就处理完毕。
- 通俗易懂SpringMVC整体框架理解
- 通俗易懂SpringMVC整体框架理解
- 通俗易懂SpringMVC整体框架理解
- 通俗易懂SpringMVC整体框架理解
- 通俗易懂SpringMVC整体框架理解
- springMVC框架整体介绍
- SSH整体框架理解
- Mybatis源码学习(一)-整体框架理解
- SSH框架整体理解和总结
- SSH框架整体理解和总结
- 深入理解springmvc 框架思想
- 整体框架
- svm通俗易懂的理解
- svm通俗易懂的理解
- 通俗易懂的理解卷积
- 数据库范式理解-通俗易懂
- springmvc框架原理的一些理解
- SpringMVC框架的一些优点和理解
- spring boot + Mybatis + redis 秒杀系统
- 各种验证
- iOS系统发布时间
- 【动态规划】[luoguP2008]大朋友的数字
- noip 2012 借教室 二分+差分
- 通俗易懂SpringMVC整体框架理解
- 解压excelTemplate压缩包.bat
- ViewPager的使用
- Viewpager+Fragment 导航栏联动
- 微信小程序 图片自适应
- leetcode 162. Find Peak Element
- Dubbo 发布恢复维护后的第一个版本 2.5.4
- 被遗忘的Logrotate
- checkbox设置大小