每日五道java面试题之springMVC篇(二)

在这里插入图片描述

目录:

  • 第一题. 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?
  • 第二题. MVC是什么?MVC设计模式的好处有哪些?
  • 第三题. 注解原理是什么?
  • 第四题. Spring MVC常用的注解有哪些?
  • 第五题. SpingMvc中的控制器的注解一般用哪个,有没有别的注解可以替代?

第一题. 请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?

(1)用户发送请求至前端控制器DispatcherServlet;
(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
(4)DispatcherServlet 调用 HandlerAdapter处理器适配器;
(5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
(6)Handler执行完成返回ModelAndView;
(7)HandlerAdapter将Handler执行结果ModelAndView返回DispatcherServlet;
(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
(9)ViewResolver解析后返回具体View;
(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet响应用户。

在这里插入图片描述

第二题. MVC是什么?MVC设计模式的好处有哪些?

mvc是一种设计模式(设计模式就是日常开发中编写代码的一种好的方法和经验的总结)。模型(model)-视图(view)-控制器(controller),三层架构的设计模式。用于实现前端页面的展现与后端业务数据处理的分离。
mvc设计模式的好处
1.分层设计,实现了业务系统各个组件之间的解耦,有利于业务系统的可扩展性,可维护性。
2.有利于系统的并行开发,提升开发效率。

第三题. 注解原理是什么?

注解本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类。我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象。通过代理对象调用自定义注解的方法,会最终调用AnnotationInvocationHandler的invoke方法。该方法会从memberValues这个Map中索引出对应的值。而memberValues的来源是Java常量池。

第四题. Spring MVC常用的注解有哪些?

@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

第五题. SpingMvc中的控制器的注解一般用哪个,有没有别的注解可以替代?

答:一般用@Controller注解,也可以使用@RestController,@RestController注解相当于@ResponseBody + @Controller,表示是表现层,除此之外,一般不用别的注解代替。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527497.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vscode插件-TONGYILingma

通义灵码,是一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/API 的使用场景调优,为开发者带来高…

04-ESP32S3-GPIO

ESP32S3-IDF GPIO GPIO简介 ESP32S3提供了多达45个物理GPIO管脚,这些管脚不仅可以作为通用的输入输出接口,还可以连接到内部外设信号。通过GPIO交换矩阵、IO MUX和RTC IO MUX,可以灵活地配置外设模块的输入信号来源于任何GPIO管脚&#xff0…

访问一次网站的全过程

目录 流程图: 一、应用层开始 1. 在浏览器输入https://www.baidu.com 2. DNS获取IP地址 3. 根据HTTP协议生成HTTP请求报文 应用层结束 二、传输层开始 4. TCP三次握手 传输层结束 三、网络层开始 5. IP寻址 6. ARP协议获取MAC地址 网络层结束 四、数据…

C++面试宝典一部分

今天整理书籍资料时,发现多年前打印的面试资料,拍照分享给大家。

2013-2021年全国31省电子商务销售额数据(无缺失)

2013-2021年全国31省电子商务销售额数据(无缺失) 1、时间:2013-2021年 2、指标:电子商务销售额数据 3、来源:国家TJ局、各省NJ 4、范围:31省 5、缺失情况:无缺失 6、指标解释:…

阿里云实现两个VPC网络资源互通

背景 由于实际项目预算有限,两套环境虽然分别属于不同的专有网络即不同的VPC,但是希望借助一台运维机器实现对两个环境的监控和日常的运维操作 网络架构 如下是需要实现的外网架构图,其中希望实现UAT环境的一台windows的堡垒机可以访问生产…

js 添加、删除DOM元素

1. js添加、删除DOM元素 1.1. 添加DOM元素 1.1.1. appendChild()方法 该方法添加的元素位于父元素的末尾,使用方法: parentNode.appenChild(NewNode) // parentNode是需要添加元素的容器,NewNode是新添加的元素   创建一个li元素并添加到…

Hack The Box-Crafty

目录 信息收集 rustscan whatweb WEB 漏洞利用 漏洞说明 漏洞验证 提权 get user.txt get Administrator 总结 信息收集 rustscan ┌──(root㉿ru)-[~/kali/hackthebox] └─# rustscan -a 10.10.11.249 --range0-65535 --ulimit5000 -- -A -sC [~] Automatically…

php调用guzzlehttp库时出现Segmentation fault的解决方案

先说结论,这个问题的原因是因为php7.4与openssl3不兼容产生的,解决方案如下: 输入openssl version -a查看openssl版本,如果是3以上的版本与php7.4不兼容,7.4以下的没测试过,估计也有问题。我最终是安装上了…

九州金榜|孩子厌学的因素及解决办法

孩子在学习的过程中,遇到厌学这种情况非常容易见到,这也是孩子在成长的过程中经常遇到的烦恼。面对孩子的厌学,作为家长这时候不要慌乱,要做到分析孩子产生厌学的原因,在去寻找解决孩子厌学的办法。下面九州金榜家庭教…

Android fragment的使用案例

效果图:两个点击事件,显示不同的fragment布局 默认是如下图,点击页面一也如下图 点击页面二如下图: Android Fragment的生命周期是与其所在的Activity紧密相关的。当一个Fragment被添加到Activity中时,它将经历一系列…

消息队列 MQ

文章目录 1. MQ 相关概念1.1 什么是 MQ1.2 为什么要用 MQ1.3 MQ 分类1.4 MQ 的选择 1. MQ 相关概念 1.1 什么是 MQ MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是 message 而已&#x…