Spring MVC面试资料

  • MVC三层架构
  • SpringMVC主要组件
  • Spring MVC框架的控制器
  • springmvc执行流程
  • 三层架构和MVC的区别
  • springmvc的优点
  • 什么是DispatcherServlet
  • Spring MVC的异常处理?

MVC三层架构

全称Model(模型)-View(视图)-Controller(控制器),
这是一种开发模式,他的好处是可以将界面和业务逻辑分离

SpringMVC主要组件

1、前端控制器 DispatcherServlet(不需要开发,由框架提供【核心】)
2、处理器映射器 HandlerMapping (不需要开发,由框架提供)
3、处理器适配器 HandlerAdapter (不需要开发,由框架提供)
4、处理器 Handler (需要工程师开发)
5、视图解析器 View Resolver (不需要开发,由框架提供)
6、视图 View (需要工程师开发)处理器Handler(也就是Controller控制器)以及视图层View是我们自己开发
前端控制器DispatcherServlet
处理器映射器HandlerMapping
处理适配器HandlerAdapter
都是由框架提供

Spring MVC框架的控制器

控制器的主要作用就是处理特定URL发过来的HTTP请求,然后进行业务逻辑处理,将结果返回给某个特定的视图。

springmvc执行流程

1:客户端请求提交到DispatcherServlet 2:DispatcherServlet
接收到请求后、将提交的信息交给处理器映射器(HandlerMapping)
3:HandlerMapping根据用户的url请求、匹配该url的Handler(Controller),并返回一个执行链
4:DispatcherServlet调用HandlerAdapter(处理器适配器)
5:HandlerAdapter经过适配调用具体的处理器(Controller)扫描
6:Controller扫描完成后返回一个ModelAndView
7:HandlerAdapter将Controller扫描结果(ModelAndView)返回给DispatcherServlet
8:DispatcherServlet将ModelAndView请求试图解析器(ViewReslover)进行解析
9:ViewReslover解析后返回具体的View
10:DispatcherServlet将view进行渲染试图(即将模型数据填充到视图中)
11:DispatcherServlet将页面响应给个用户

三层架构和MVC的区别


MVC(模型Model-视图View-控制器Controller)是一种架构模式
三层架构是(界面层UI-业务逻辑层BLL-数据访问层DAL)
三层架构是基于业务逻辑来分的,而mvc是基于页面来分担

springmvc的优点

1、可以支持各种视图技术,而不仅仅局限于JSP
2、与Spring框架无缝集结合
3、可适配、非入侵
4、分工明细

什么是DispatcherServlet

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

Spring MVC的异常处理?

可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器中添视图页面即可

springmvc面试题2021相关推荐

  1. 前端面试题2021(超详细)

    真的是一篇好文章,好文就要收藏~ 晟小明 身为三本的我就是凭借这些前端面试题拿到百度京东offer的,前端面试题2021及答案

  2. 美团笔试题2021.8.29(第四题求大佬解答)

    美团笔试题2021.8.29 又再帮同学写,推了这周的周赛,侥幸都有点思路 丁香树 题目描述 思路 因为芳香值最大为30,所以用一个数组存储已走过的芳香值,然后走到第i个点,找比当前芳香值小的有多少个 ...

  3. Swift面试题2021(附答案)

    1.Swift和Objective-C有什么区别? 1)Swift是强类型(静态)语言,有类型推断,Objective-C弱类型(动态)语言 2)Swift面向协议编程,Objective-C面向对象 ...

  4. 前端面试题2021及答案

    身为三本的我就是凭借这些前端面试题拿到百度京东offer的,前端面试题2021及答案... 此文转载自:https://blog.csdn.net/qq_33277654/article/detail ...

  5. 电子科大C语言期末试题,电子科大嵌入式期末试题2021末 -

    <电子科大嵌入式期末试题2021末 ->由会员分享,可在线阅读,更多相关<电子科大嵌入式期末试题2021末 -(16页珍藏版)>请在装配图网上搜索. 1.电子科大嵌入式期末试题 ...

  6. 2021最新Java面试题(Hibernate面试题、MyBatis面试题、Spring面试题、SpringMVC面试题)

    1.什么是 ORM 框架? 答:对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境 ...

  7. 最新Java面试题2021年,常见面试题及答案汇总

    2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...

  8. 面试问到springmvc不会怎么办?看这篇就够了,springmvc面试题(共22题,含答案)

    [Java架构师面试网]收集整理了一些Java面试的常见问题,这些问题可能会在你下一次技术面试中遇到.想成为Java架构师,这些都是不可避免也是必须要掌握的哦,对于其他模块的面试题,我后续也将单独分享 ...

  9. Java面试题-2021

    Java面试题 1.MyCat 1.什么是数据库分片 2.MyCat的作用? 3.MyCat和MySQL的区别? 4.什么是分库分表? 5.如何设计分库分表 (mycat) 2.MongoDB 1.M ...

最新文章

  1. thymeleaf引用图片_SpringBoot访问静态资源(图片、html)以及整合thymeleaf 注意点
  2. [小技巧]在NTFS分区中复制文件的同时如何复制权限
  3. 如何发表顶级期刊论文
  4. 浮动div 内部元素 垂直居中
  5. flask中url_for的作用
  6. LeetCode65——Valid Number(使用DFA)来判断字符串是否为数字
  7. java帧结构_Java虚拟机运行时栈帧结构--《深入理解Java虚拟机》学习笔记及个人理解(二)...
  8. android通过ContentProvider 取得电话本的数据
  9. poj 3414 Pots-bfs
  10. C++ 之父即将开始直播,请就位!
  11. 考研计算机时间安排表,2019计算机考研这份复习时间表让你自律
  12. Outlining and Hiding Code----feature
  13. zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
  14. 把显存用在刀刃上!17 种 pytorch 节约显存技巧
  15. NLP-Beginner:自然语言处理入门练习----task 1基于机器学习的文本分类
  16. 难以置信,已经有人用 ChatGPT 做 Excel 报表了?
  17. vue项目中解决谷歌浏览器默认填充账号密码问题
  18. php对plc的TCP通信,西门子1200PLC进行TCP通讯配置详解
  19. Thunderbolt4,雷电4与USB4
  20. MATLAB--数值计算(矩阵)

热门文章

  1. 单例销毁_【PHP设计模式】单例模式
  2. Windows+Caffe(Faster RCNN/RFCN/SSD)编译(Cuda7.5+Cuda8.0)未完待续
  3. Matlab中的结构体
  4. mysql数据库修改编码
  5. AD 脚本kixtart运用之六(outlook邮件批量生成签名)
  6. mybatis的延迟加载
  7. 保利协鑫多晶硅产量再创历史记录
  8. Linux+Apache2.4+PHP5.6+MySQL5.6源码安装步骤
  9. dns的主从服务器的简单配置
  10. 乐兔淘购物分享2.4版本功能无限制 界面够美观时尚