【Java面试题】SpringMVC
九、SpringMVC
63)SpringMVC 的流程
a.用户向服务器发送请求,请求被 SpringMVC 前端控制器 DispatchServlet 捕获;
b.DispatcherServlet 对请求 URL 进行解析,得到请求资源标识符(URL),然后根据该 URL 调用 HandlerMapping 将请求映射到处理器 HandlerExcutionChain;
c.DispatchServlet 根据获得 Handler 选择一个合适的 HandlerAdapter 适配器处理;
d.Handler 对数据处理完成以后将返回一个 ModelAndView()对象给 DisPatchServlet;
e.Handler 返回的 ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet 通过 ViewResolver 试图解析器将逻辑视图转化为真正的视图 View ;
h.DispatcherServle 通过 model 解析出 ModelAndView()中的参数进行解析最终展现出完整的 view 并返回给客户端;
64)SpringMVC 的主要组件
前 端 控 制 器 DispatcherServlet ,作 ⽤ :接 受 请 求 、响 应 结 果 相 当 于 转 发 器 , 有 了 DispatcherServlet 就减少了其他组件之间的耦合度。
处理器映射器 HandlerMapping,作⽤:根据请求的 URL 来查找 Handler。
处理器适配器 HandlerAdapter,注意:在编写 Handler 的时候要按照 HandlerAdapter 要求的 规则去编写,这样适配器 HandlerAdapter 才可以正确的去执⾏ Handler。
处理器 Handler(需要程序员开发)。视图解析器 ViewResolver。
视图 View(需要程序员开发)。
【Java面试题】SpringMVC的更多相关文章
- 尚学堂Java面试题整理
博客分类: 经典分享 1. super()与this()的差别? - 6 - 2. 作用域public,protected,private,以及不写时的差别? - 6 - 3. 编程输出例如以 ...
- JAVA面试题二
JAVA 综合面试题 2007-08-12 目录 Java面试题整理 9 Java面向对象 9 1. super()与this()的区别? 9 2. 作用域public,protected,priva ...
- 一些常见的Java面试题 & 面试感悟
< 前言 > 近期在面试,深感这个行业的浮躁,一些菜不辣基的弱鸡开出的工资待遇要求,超过了我.不知道他们是怎么拿到那么高的工资的,难道是他在公司有亲戚朋友吗?有后台吗?是行业热钱真的过多了 ...
- 史上最全阿里 Java 面试题总结
以下为大家整理了阿里巴巴史上最全的 Java 面试题,涉及大量 Java 面试知识点和相关试题. JAVA基础 JAVA中的几种基本数据类型是什么,各自占用多少字节. String类能被继承吗,为什么 ...
- Java面试题(全)--视频系列
此系列为面试笔试题的视频讲解,以下均为超链接,点击即可进入每个知识点的讲解. Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环 ...
- 《OD面试》Java面试题整理
一.面试考察点 1 主语言本身 2 数据库 3 算法 4 Spring/SpringMVC/MyBatis 5 项目经验 1)项目涉及到的技术点深挖: (1)考察候选人技术深度 (2)看候选人遇到问 ...
- 2019 Java面试题
马上又是一个金九银十的招聘旺季,小编在这里给大家整理了一套各大互联网公司面试都喜欢问的一些问题或者一些出场率很高的Java面试题,给在校招或者社招路上的你一臂之力. 首先我们需要明白一个事实,招聘的一 ...
- 2018年Java面试题搜集
2018年Java面试题搜集 一.Servlet执行流程(浏览器访问servlet的过程容器) 客户端发起http请求,web服务器将请求发送到servlet容器,servlet容器解析url并根据w ...
- java面试题(目录版)
在https://www.cnblogs.com/marsitman/p/9539369.html 根据自己以往的面试经验,在该基础上做了补充和删减,均链接到相应的地址(链接失效请留言评论). 一. ...
- 2018年最新Java面试题及答案整理(持续完善中…)
2018年最新Java面试题及答案整理(持续完善中…) 基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内 ...
随机推荐
- vue+antv g6+element-ui完整流程图
最近一直在研究流程图相关的技术,一次在逛GitHub时发现了一个技术栈为vue+g6+element-ui的项目,基础功能完好,如node与edge的托拉拽,主界面如下:
- std::shared_ptr 和 std::vector 的结合使用
#include <iostream> #include <string> #include <vector> std::shared_ptr<std::ve ...
- Vue3学习(十八) - TreeSelect 树选择
写在前面 本以为可以在家学习一天,结果家里来了客人拜年,就没学习上,有点小遗憾吧. 昨天完成从分类管理的前后端代码复制出文档管理的前后端代码,遗留问题是只能选择一级父分类.值得说的是,昨晚的遗留的问题 ...
- AI数字人SadTalker实战
1.概述 AI数字人在营销和品牌推广中扮演着至关重要的角色,许多企业和个人正积极利用数字技术来打造属于自己的财富.有没有一种简单而免费的方式来创建自己的数字人呢?本篇博客笔者将为大家介绍如何搭建属于自 ...
- 时序数据库timescaleDB安装
一:前言相关 环境:Red Hat 8.3.1-5安装程序:PostgreSQL 14.1,TimescaleDB 2.5.1,cmake3.22.1PostgreSQL编译安装需要cmake3.4以 ...
- OpenCV开发笔记(六十三):红胖子8分钟带你深入了解SIFT特征点(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- re.sub参数之回调函数
from calendar import month_abbr import re def change_date(m): mon_name = month_abbr[int(m.group(1))] ...
- nginx中自带的一些变量参数说明
$args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为 ...
- c# 4.8 实现Windows 定时任务计划(Task Scheduler)
分享一个我自己写的 Windows 定时任务计划(Task Scheduler) 动态创建代码,没做太多封装,留个实现笔记 首先封装一个简单配置项的类 1 public class TaskSched ...
- Windows开发环境如何启用Directory.Build.props版本号集中管理
每个产品一个根目录 Directory.Build.props的工作模式和NuGet.Config不同,Directory.Build.props不能继承.当dotnet restore工作的时候,会 ...