码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 每日五道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,表示是表现层,除此之外,一般不用别的注解代替。

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

  • 相关阅读:
    计算机组成原理(2)--进位计数制、BCD码,有符号数和无符号数、浮点数
    关于#python#的问题,请各位专家解答!(操作系统-linux)
    Tasmota系统之外设配置
    红海云签约广州无线电集团,头部国企人力资源数字化转型全面加速
    微信公众平台快速开发框架源码
    【Linux】简化自用-Win10安装VMware和CentOS
    图片怎么转成PDF?分享三个转换方法
    MySQL数据库期末考试试题及参考答案(07)
    Postgresql源码(70)逻辑复制DecodeXLOG主要流程和数据结构
    计算机毕业设计成品java项目开发实例基于SSM框架图书借阅管理系统开发与设计
  • 原文地址:https://blog.csdn.net/m0_74436895/article/details/136606876
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号