当前位置: 首页 > news >正文

面试篇SpringMVC是什么以及工作原理

1,什么是SpringMVC呢?

   它是Spring的一种设计模式,一款框架。


2,MVC分别代表什么?

        M代表模型即model的缩写,指业务逻辑层模型。V代表视图即View的缩写,指视图层。C则是controller的缩写!指控制层。


工作原理


1、用户发送请求至前端控制器DispatcherServlet。


2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。


3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象以及处理拦截器(如果有则生成)一并返回给DispatcherServlet。


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响应用户。


DispatcherServlet:它是前端控制器,负责整个流程控制的中心,中央调度器,控制着其他的组件执行,统一调度。降低各个组件的耦合,增加扩展性。

HandlerMapping:映射处理器,通过扩展处理器映射器实现不同的映射方式!列如:配置文件,实现接口,注解都交由他来映射。

HandlerAdapter: 适配器处理器。

ViewResolover:视图解析器,列如解析jsp,等

相关文章:

面试篇SpringMVC是什么以及工作原理

1,什么是SpringMVC呢? 它是Spring的一种设计模式,一款框架。 2,MVC分别代表什么? M代表模型即model的缩写,指业务逻辑层模型。V代表视图即View的缩写,指视图层。C则是controller的缩写&#xff…...

jQuery-层级选择器

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>层级选择器</title> <style type"text/css"> …...

【Java数据结构】——第十节(下).选择排序与堆排序

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;Java初阶数据结构 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目…...

45道SQL题目陆续更新

文章目录 学习视频配置环境第一天内连接 外连接第二天第三天 学习视频 学习视频 配置环境 四张表 配置四张表的sql语句 #创建发据库 create database frogdata charsetutf8&#xff1b;use frogdata;# 学生表 Student create table Student( SId varchar(10), Sname var…...

在线PS软件有哪些不错的推荐

许多新的UI设计合作伙伴非常关心在线ps工具的选择。现在市场上有各种各样的ps网页替代工具&#xff0c;数量众多&#xff0c;令人眼花缭乱。本文简要介绍了10个在线PS工具&#xff0c;我相信一定有一个适合你&#xff01; 1.即时设计 即时设计是一款在线 UI 设计工具&#xf…...

Java实现天气预报功能

如果要实现类似百度天气、手机App这样的天气预报功能该如何实现&#xff1f;首先想到的是百度... 背景&#xff1a; 最近公司做了一个项目&#xff0c;天气预报的功能也做上去了&#xff0c;不仅有实时天气、未来7天预报的功能、还有气象预警的功能。 天气包括基本天气、白天夜…...

python循环语句

while循环 Python中&#xff0c;while循环只要在条件&#xff08;表达式&#xff09;为真的情况下&#xff0c;就会一直重复执行相应的循环代码块。 while语句的语法格式如下&#xff1a; while 条件表达式&#xff1a;代码块while语句执行的具体流程为&#xff1a;首先判断…...

多线程基础(一)线程基础信息、synchronized 锁概念

1. 基本概念&#xff1a; 程序&#xff1a; 程序是一些保存在磁盘上的指令的有序集合&#xff0c;是静态的。程序包括&#xff1a;内存资源、IO资源、信号处理等。&#xff08;如&#xff1a;XX.exe&#xff09; 进程&#xff1a; 进程是程序执行的过程&#xff0c;包括了动态…...

JAVA期末考内容知识点的梳理

作者的话 前言&#xff1a;这些都是很基本的&#xff0c;还有很多没有写出来&#xff0c;重点在于考试复习&#xff0c;包括后四章的内容 前面内容请参考JAVA阶段考内容知识点的梳理 一、集合、流 课堂总结1集合 集合概念&#xff1a; 保存和盛装数据的容器&#xff0c;将许多…...

为什么要使用Thrift与Protocol Buffers?

编码数据的格式 程序通常&#xff08;至少&#xff09;使用两种形式的数据&#xff1a; 在内存中&#xff0c;数据保存在对象、结构体、列表、数组、散列表、树等中。 这些数据结构针对 CPU 的高效访问和操作进行了优化&#xff08;通常使用指针&#xff09;。如果要将数据写…...

oa是什么意思?oa系统哪个好用?

一、oa是什么意思 oa&#xff08;Office Automation办公自动化&#xff09;是一种将智能化科技应用于企业管理中的应用系统。它可以通过电脑网络、互联网等技术手段&#xff0c;将企业的各种业务流程、各种业务数据进行集成和处理&#xff0c;将各种业务流程和各种业务数据统一…...

Linq和C# Lambda表达式

什么是Linq 简介 Linq (Language Integrated Query) 是一种语言集成的查询技术&#xff0c;可以在C#和其他.NET语言中使用。Linq允许我们使用一种类SQL的语言来查询数据&#xff0c;这使得代码更加简洁和易于阅读。Linq提供了一种通用的查询接口&#xff0c;可以用于查询各种…...

蓝桥:前端开发笔面必刷题——Day2 数组(三)

文章目录 &#x1f4cb;前言&#x1f3af;两数之和 II&#x1f4da;题目内容✅解答 &#x1f3af;移除元素&#x1f4da;题目内容✅解答 &#x1f3af;有序数组的平方&#x1f4da;题目内容✅解答 &#x1f3af;三数之和&#x1f4da;题目内容✅解答 &#x1f4dd;最后 &#x…...

人工智能专栏第四讲——人工智能的未来展望与机遇

目录 一、人工智能的未来展望 二、人工智能在各领域的应用 三、人工智能的机遇 四、总结...

Unity阴影(Shadow)、Shadowmap

Unity阴影&#xff08;Shadow&#xff09; 在Unity中&#xff0c;阴影&#xff08;Shadow&#xff09;是用于模拟场景中物体之间相互遮挡和光照效果的特性。阴影可以增加场景的真实感&#xff0c;并在视觉上提供深度和空间感。 Unity提供了几种阴影投射和接收的方法和技术&am…...

编程语言的四种错误处理方法,你知道几种?

错误处理是编程的一个基本要素。除非你写的是“hello world”&#xff0c;否则就必须处理代码中的错误。在本文中&#xff0c;我将讨论各种编程语言在处理错误时使用的最常见的四种方法&#xff0c;并分析它们的优缺点。 关注不同设计方案的语法、代码可读性、演变过程、运行效…...

ContOS7单机安装Hadoop

安装Hadoop 1&#xff0c;准备环节 因为Hadoop是由java编写的&#xff0c;所以需要Java的环境支持&#xff0c;作为开发者我们需要安装jdk。 安装jdk的教程http://t.csdn.cn/6qJKg 下载Hadoop的安装包 Hadoop官网&#xff1a;http://hadoop.apache.org/ Hadoop版本下载地…...

抓取动态网页的数据的具体操作方法

抓取动态网页的数据的具体操作方法 动态网页是指在用户交互过程中&#xff0c;网页内容不断更新和变化的网页。抓取动态网页的数据需要了解以下具体操作方法&#xff1a; 使用浏览器开发者工具&#xff1a;在浏览器中打开目标网页后&#xff0c;按下F12键&#xff0c;打开开发…...

Windows 和 Linux 环境下 ProtoBuf 的安装

文章目录 一、ProtoBuf 在 Windows 环境中的安装二、ProtoBuf 在 Linux 环境中的安装 ProtoBuf在GitHub上的下载地址 一、ProtoBuf 在 Windows 环境中的安装 首先选择自己要下载的版本&#xff0c;我选择的是v21.11&#xff1a; 点进去在最下面选择Windows的版本&#xff0…...

商用密码应用安全性测评方案编制流程

密评方案编制的目标是完成测评准备活动中获取的信息系统相关资料整理&#xff0c;为现场测评活动提供最基本的文档和指导方案。 按照《GM-T 0116-2021 信息系统密码应用测评过程指南》标准&#xff0c;密评方案编制包括5项关键任务&#xff0c;简要汇总如下表。 编号任务输入文…...

AI读脸术分布式部署:多节点负载均衡实战方案

AI读脸术分布式部署&#xff1a;多节点负载均衡实战方案 1. 项目背景与需求 在现代人工智能应用中&#xff0c;人脸属性识别技术已经成为许多业务场景的核心需求。从智能安防到个性化推荐&#xff0c;从用户分析到内容审核&#xff0c;准确快速的年龄和性别识别能力正在发挥越…...

Windows系统终极优化方案:WinUtil一键管理工具完全指南

Windows系统终极优化方案&#xff1a;WinUtil一键管理工具完全指南 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil WinUtil是一款由Chris Tit…...

终极指南:如何用D3KeyHelper彻底解放双手,让你的暗黑3游戏体验提升500%

终极指南&#xff1a;如何用D3KeyHelper彻底解放双手&#xff0c;让你的暗黑3游戏体验提升500% 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否…...

解决Navicat从备份中提取单表数据失败报错怎么办_错误日志排查

Navicat 导入 SQL 备份报错主因是上下文缺失&#xff1a;跨库语句&#xff08;USE/CREATE DATABASE&#xff09;、权限语句、全限定表名、编码不匹配或锁超时。应删无关语句、确认库存在及权限、用纯 UTF-8 编码、避免图形界面导大数据&#xff0c;优先用 mysqldump 配合「运行…...

黑苹果完全指南:在普通PC上安装macOS的终极教程与避坑手册

黑苹果完全指南&#xff1a;在普通PC上安装macOS的终极教程与避坑手册 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh 想要在普通台式机或笔记本上体验ma…...

【VS Code】settings.json配置实战:全局与工作区设置的灵活切换技巧

1. 理解VS Code的配置层级体系 第一次用VS Code时&#xff0c;我就被它的配置系统惊艳到了。不像其他编辑器把配置藏在注册表或系统深处&#xff0c;VS Code把所有设置都明明白白放在settings.json文件里。但更厉害的是它的双层配置设计——就像手机有系统级设置和APP单独设置…...

51单片机GPIO控制实战:手把手教你玩转P0-P3端口

51单片机GPIO深度实战&#xff1a;从端口特性到高级控制技巧 当你第一次点亮LED时&#xff0c;那种成就感就像打开了嵌入式世界的大门。但真正掌握51单片机的GPIO&#xff0c;远不止让灯闪烁那么简单。P0-P3这四个看似简单的端口&#xff0c;藏着许多工程师多年积累的实战经验。…...

ImageJ批量细胞计数保姆级教程:从单张调试到整个文件夹一键出结果

ImageJ批量细胞计数工程化实践&#xff1a;从单张调试到自动化流水线 在生物医学研究中&#xff0c;细胞计数是基础却耗时的重复性工作。传统手动计数不仅效率低下&#xff0c;还容易引入人为误差。ImageJ作为开源图像分析工具&#xff0c;其批量处理能力可以彻底改变这一局面…...

Gemma-3-12B-IT在Node.js环境中的高效部署方案

Gemma-3-12B-IT在Node.js环境中的高效部署方案 让大模型在Node.js中流畅运行&#xff0c;释放Gemma-3-12B-IT的全部潜力 1. 开始之前&#xff1a;认识Gemma-3-12B-IT和Node.js的完美组合 如果你正在寻找一个既强大又易于集成的大语言模型&#xff0c;Gemma-3-12B-IT绝对是个不…...

Ubuntu系统下SocketCAN实战:免驱配置PCAN/PCAN FD设备全流程

1. 认识SocketCAN与PCAN设备 在嵌入式开发和汽车电子领域&#xff0c;CAN总线就像设备之间的"神经传导系统"&#xff0c;而SocketCAN则是Linux内核为这个系统提供的"标准语言接口"。我第一次接触PCAN设备时&#xff0c;发现它有个巨大优势——大多数型号在…...