springmvc框架原理学习
springmvc运行原理
springmvc在运行中必需依赖于四个组件,因为他有好多功能都是基于组件来实现的,基本运行功能是基于四个组件来完成的,
1 DispatcherServlet 主控制器或是前端控制器,
2 HandlerMapping 处理器映射器
3 HandlerAdapter 处理器适配器
4 viewResolver 视图解析器
运行原理:
当所有的请求发送时会先被DispatcherServlet来接收,这时会调用HandlerMapper来对请求的url进行寻找对应的处理器来解决请求,
当找到了能够处理请求的处理器适配器时,HandlerAdapter会执行目标的controller方法并作出返回一个ModelAndView对象,
DispatcherServlet接收了响应的ModelAndView对象并交给ViewResolver组件来做视图处理,最后才变成字符串形式返回给浏览器,DispatcherServlet主控制器
查看源码可以知道DispatcherServlet是继承了HttpServlet了,并不是直接继承哈,
里面覆盖掉了init方法,主要做一些初始化的工作,将web.xml配置文件的参数设置到Servlet中,总体大概就是这些类用来解析配置文件的,然后配置给servlet启动时的参数,HandlerMapping
作用就是根据当前请求找到对应的Handler,就是Controller对象,HandlerAdapter
spring mvc中使用适配器模式来解决不同的Handler执行,根据Handler来找到支持他的HandlerAdapter,ViewResolver
根据视图名称将其解析为View类型视图,view是用来渲染页面的,也就是将Model填入模板中,生成html或是jsp页面
springmvc框架原理学习相关推荐
- SpringMVC框架--学习笔记(上)
1.SpringMVC入门程序: (1)导入jar包:spring核心jar包.spring-webmvc整合Jar包 (2)配置前端控制器:web.xml文件中 <?xml version=& ...
- SpringMVC基础学习之Controller的两种实现方式和RequstMapping注解的使用
前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...
- SpringMVC基础学习之Restful风格的简单使用
前言: 小伙伴们,大家好,我是狂奔の蜗牛rz,当然你们可以叫我蜗牛君,我是一个学习Java半年多时间的小菜鸟,同时还有一个伟大的梦想,那就是有朝一日,成为一个优秀的Java架构师. 这个SpringM ...
- SpringMVC日常学习总结
SpringMVC的学习总结 1.SpringMVC 概述 SpringMVC 可以被认为是 Spring 框架的子框架,SpringMVC 要想使用的话得需要依赖于 Spring,也可以说是 Spr ...
- SpringMVC源代码学习外传(三)RequestCondition
以下内容基于书:<看透SpringMVC-源代码分析与实践> 基本照搬...用于自己查阅备忘.加上外传关键字的是讨论一些SpringMVC的特定类的使用方法,非外传的是对启动流程/请求处理 ...
- SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序
一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...
- SpringMVC框架--学习笔记(下)
接上篇:SpirngMVC框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81038382 17.全局异常处理: 系统中异常包 ...
- android热修复原理底层替换,Android 热修复 - 各框架原理学习及对比
写在开头 从15年开始各技术大佬们开始研究热修复技术,并陆续开源了许多的热修复框架.如 Jasonross 的 Nuwa,美团的 Robust,阿里的 Andfix,腾讯的 Tinker 等等...均 ...
- 深入学习SpringMVC以及学习总结
2019独角兽企业重金招聘Python工程师标准>>> 一.优点: 1.SpringMVC简化web程序开发; 2.SpringMVC效率很好(单例模式): 3.SpringMVC提 ...
- 《跟开涛学SpringMVC》学习笔记
一 背景: 原来用spring那会,还是低版本没有注解,配置一堆bean.后来一直没怎么用过,也就疏忽了,现在整理项目的时候,给前端app提供rest接口,就是用springMVC实现的,接触整理下有 ...
最新文章
- CV业务落地用Transformer吗?
- SAP Cloud Platform 上的 WebIDE里,如何设置激活代码自动补全(自动完成)功能的快捷键
- linux 内核驱动的poll,Linux驱动基石之POLL机制
- 数据结构之排序五:选择排序
- 【2018ACM山东省赛 - E】Sequence(树状数组,思维,优化)
- 基于物品的相似度还是基于用户的相似度
- mui获取php表格,Mui table实现数据提取方法
- 中兴通讯首届郑和杯无线应用创作挑战赛正式启动
- java设计模式----代理模式
- H桥电机驱动基本原理
- ES 关于text和keyword两种类型数据搜索区别
- 固定链接设置朴素正常html无法显示,wordpress固定链接设置修改常见问题
- PHP 函数的完整参考手册
- 学了一年php感觉什么都不会,php自学要多久_一个学了1年php后选择放弃
- 这款养蛙游戏火爆了朋友圈,游戏开发程序员已赚翻!
- 骆昊python100天 github_GitHub - MingZhao2019/Python-100-Days: Python - 100天从新手到大师
- 医院管理信息系统 HIS EMR PACS LIS
- 推荐一款可快速全量交付 Kubernetes 集群分布式应用的神器 Sealer
- The MegaFace Benchmark-1 Million Faces for Recognition at Scale
- 基于逆变器的有源滤波器控制,光伏Mppt采用粒子群算法,ip iq谐波检测,电压电流双闭环控制,电流环采样pi控制和重复控制进行对比,谐波含量低
热门文章
- win10 安装oracle 11gR2_database(内附下载地址)
- 陈梓涵:关于编程的胡扯
- Google Maps API V2
- Firefox中的document.all的替代方案-From EasyCluster support Firefox
- [导入]构建WCF面向服务的应用程序系列课程(10):安全基础.zip(24.27 MB)
- mysql 数据生成_mysql生成数据
- 拓端tecdat|R语言使用ARIMA模型预测股票收益时间序列
- mysql表内容_5、mysql表内容操作
- 7-7 字符转换 (15 point(s))
- (14)Python_SimpleImputer缺失值处理