虽然用了很长时间的SpringMVC这个框架,自己感觉运用的很6,可是近期面试却发现了一个很可怕的问题,什么是SpringMVC?SpringMVC的工作原理是什么?SpringMVC的优缺点有哪些?以前运用的时候,真的没有考虑到这些问题!

现在我们来探讨一下SpringMVC。

1.什么是SpringMVC?

答:Spring是一个模块,基于MVC的一个框架。MVC是一种设计模式。M代表model;V代表view;C代表controller。M指的是模型,即dao层和service层,V指的是视图,即jsp html 等。C指的是controller,即控制器。

2.SpringMVC的工作原理是什么?

答:用户发送请求由前置控制器DispatcherServlet来决定哪一个页面的控制器进行处理并把请求委托给它,在由HandlerMapping将请求映射为HandlerExecutionChain对象(包含Handler处理器对象(页面控制器),多个HandlerInterceptor对象即拦截器),在返回给DispatcherServlet,DispatcherServlet在次发送请求给HandlerAdapter,HandlerAdapter将处理器包装为适配器,调用处理器相应功能处理方法,Handler返回ModelAnView给HandlerAdapter,HandlerAdapter发送给DispatcherServlet进行视图的解析(ViewResolver),ViewResolver将逻辑视图解析为具体的视图,返回给DispatcherServlet,在进行视图的渲染(View),返回给DispatcherServlet,最后通过DispatcherServlet将视图返回给用户。

3.分工职责

3.1 前置控制器DispatcherServlet作用:接收请求  返回结果3.2 映射处理器 HandlerMapping作用:根据请求映射为HandlerExecutionChain对象,查找对应的Handler3.3 处理器适配 HandlerAdapter作用:调用处理器相对应的处理方法,返回ViewAndModel3.4  视图解析器 ViewResolver3.5  视图的渲染 View

4.SpringMVC的优缺点?

答:1.方便解耦,简化开发,职责鲜明,分工明确

    2.AOP的很好支持,方便面向切面编程3.对主流的框架提供了很好的集成支持4.Spring属于低侵入,代码污染极低

SpringMVC工作原理详细讲解相关推荐

  1. varnish工作原理详细讲解

    Varish Configuration Language 简称VCL,通过它我们可以完成一些复杂的逻辑处理.下面将详细介绍: Backend declarations: Java代码   backe ...

  2. SpringMVC工作原理详解

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 先来看一下什么是 MVC 模式 MVC 是一种设计模式. MVC 的原理图如下: SpringMV ...

  3. SpringMVC工作原理之一:DispatcherServlet

    一.DispatcherServlet 处理流程 在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作.在看 Di ...

  4. python爬虫原理-python爬虫原理详细讲解

    原标题:python爬虫原理详细讲解 一 .爬虫是什么 1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. 2.互联网建立的目的?互联网的 ...

  5. SpringMVC工作原理 1

    大家好,我是IT修真院深圳分院第十一期学员,一枚正直纯洁善良的JAVA程序员. 今天给大家分享一下,修真院官网JAVA任务二的一个知识点:SpringMVC工作原理 1.背景介绍 一:背景介绍 Jav ...

  6. SpringMVC→简介、MVC、SpringMVC工作原理、Maven搭建第一个SpringMVC、请求参数接收、重定向、文件上传、AJAX异步访问、请求参数接收绑定JSON、@注解及传参

    MVC SpringMVC工作原理 Maven搭建第一个SpringMVC 目录结构 web.xml *-servlet.xml Controller请求处理类 跳转页面 Maven运行服务器项目 浏 ...

  7. 显卡结构及工作原理详细解读

    显卡结构及工作原理详细解读 标签: 显卡三维图像 2016-01-16 20:58 864人阅读 评论(0) 收藏 举报  分类: 3D原理(11)  什么是显卡? 显卡的工作非常复杂,但其原理和部件 ...

  8. SpringMVC工作原理及源码解析

    SpringMVC工作原理及源码解析 一:SpringMVC原理图 二:SpringMVC的主要组件 1.前端控制器DispatcherServlet: 2.处理器映射器HandlerMapping: ...

  9. 看图搞懂三极管的三个工作状态/三极管工作原理新讲解

    这篇文章最大的特点是详细分析了使三极管达到饱和导通的条件和方法,以及注意事项,对实际使用中问题的分析和参数的选择还是很有帮助的. 大家都知道三极管是电流控制型元件,三极管工作在放大状态下存在Ic=βI ...

  10. 系统构架及工作原理详细介绍

    我们知道计算机网络依据物理连接和逻辑连接来实现不同网络之间.不同主机之间.主机 与终端之间的信息交换与信息共享.绿盟安全隔离与信息交换系统既然隔离.阻断了网络的所 有连接,实际上就是隔离.阻断了网络的 ...

最新文章

  1. MyEclipse图表工具Birt的使用技巧(三)--连接webservice数据源
  2. linux rpm 包制作详解
  3. 【数据结构与算法】之深入解析“通配符匹配”的求解思路与算法示例
  4. CF Gym102059 H. Fractions
  5. android 集成同一interface不同泛型_C# 基础知识系列- 10 反射和泛型(二)
  6. mysql数据库被远程连接_如何让mysql数据库准许被远程连接访问
  7. linux备份能压缩吗,Linux备份与压缩命令
  8. Libevent源码解析
  9. 帮你整理了1000套实习报告模板,快快收藏
  10. Python生成Wifi二维码 一键联网
  11. BootStrap工具使用
  12. java廖雪峰_廖雪峰Java教程学习笔记(一)——Java程序基础
  13. MySQL 数据库基础(一)(数据库的简介)
  14. PC客户端自动化测试-控件操作方法
  15. 双系统删除Linux引导(MbrFix.exe)
  16. C4D致富经典入门到精通(七)
  17. 如何开始人工智能之旅: 改弦更张不合算,别忽视既有平台
  18. SAND概述(Server and network assisted DASH)
  19. [转摘]太极拳精义述真
  20. ODB 之 persist compile error

热门文章

  1. [人工智能-综述-3]:人工智能与硅基生命,人类终将成为造物主
  2. 机械制图--零件图--过渡线
  3. LTE技术对PTN的影响
  4. 1. 并行与分布式系统简介
  5. linux oa系统搭建,企业Linux系统部署OA系统上线实例
  6. java多线程listview_Android_listview分页加载更多
  7. Linux系统版本大全
  8. ❤️PPT素材网站推荐❤️让你的PPT更加迷人❤️
  9. 学会PDF转Word,PDF编辑不再是问题!
  10. 金山文字 职称计算机,职称计算机:金山文字2005考试大纲