专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 大厂技能整理:springmvc面试题及答案

大厂技能整理:springmvc面试题及答案

更新时间:2022-12-09 15:51:54 来源:星辉 浏览931次

临近年关,又是面试求职的高峰期了,最近有不少同学在广求springmvc的面试题,正好之前小编也整理了一些这方面的文章,发给大家参考参考,这些题目,是不少同学去一些百度、美团、搜狐等一线大厂公司面试时被问到的问题,有需求的话,大家不妨也收藏来看看。

springmvc面试题及答案

1.什么是MVC模式?

MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

2.SpringMVC的执行流程?

springmvc面试题及答案

  • 用户点击某个请求路径,发起一个request请求,此请求会被前端控制器处理。
  • 前端控制器请求处理器映射器去查找Handler。可以依据注解或者XML配置去查找。
  • 处理器映射器根据配置找到相应的Handler(可能包含若干个Interceptor拦截器),返回给前端控制器。
  • 前端控制器请求处理器适配器去执行相应的Handler处理器(常称为Controller)。
  • 处理器适配器执行Handler处理器。
  • Handler处理器执行完毕之后会返回给处理器适配器一个ModelAndView对象(SpringMVC底层对象,包括Model数据模型和View视图信息)。
  • 处理器适配器接收到Handler处理器返回的ModelAndView后,将其返回给前端控制器。
  • 前端控制器接收到ModelAndView后,会请求视图解析器(ViewResolver)对视图进行解析。
  • 视图解析器根据View信息匹配到相应的视图结果,反馈给前端控制器。
  • 前端控制器收到View具体视图后,进行视图渲染,将Model中的模型数据填充到View视图中的request域,生成最终的视图(View)。
  • 前端控制器向用户返回请求结果。

3.Spring MVC的主要组件?

  • 前端控制器:其作用是接收用户请求,然后给用户反馈结果。它的作用相当于一个转发器或中央处理器,控制整个流程的执行,对各个组件进行统一调度,以降低组件之间的耦合性,有利于组件之间的拓展。
  • 处理器映射器:其作用是根据请求的URL路径,通过注解或者XML配置,寻找匹配的处理器信息。
  • 处理器适配器:其作用是根据映射器处理器找到的处理器信息,按照特定规则执行相关的处理器(Handler)。
  • 处理器:其作用是执行相关的请求处理逻辑,并返回相应的数据和视图信息,将其封装至ModelAndView对象中。
  • 视图解析器:其作用是进行解析操作,通过ModelAndView对象中的View信息将逻辑视图名解析成真正的视图View(如通过一个JSP路径返回一个真正的JSP页面)。
  • 视图:View是一个接口,实现类支持不同的View类型(JSP、FreeMarker、Excel等)

4.SpringMVC有哪些优点?

  • SpringMVC本身是与Spring框架结合而成的,它同时拥有Spring的优点(例如依赖注入DI和切面编程AOP等)。
  • SpringMVc提供强大的约定大于配置的契约式编程支持,即提供一种软件设计范式,减少软件开发人员做决定的次数,开发人员仅需规定应用中不符合约定的部分。
  • 支持灵活的URL到页面控制器的映射。
  • 可以方便地与其他视图技术(JSP、FreeMarker等)进行整合。由于SpringMVC的模型数据往往是放置在Map数据结构中的,因此其可以很方便地被其他框架引用。
  • 拥有十分简洁的异常处理机制。
  • 可以十分灵活地实现数据验证、格式化和数据绑定机制,可以使用任意对象进行数据绑定操作。
  • 支持RestFul风格。

5.SpringMVC常用的注解有哪些?

@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。

@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

以上就是“大厂技能整理:springmvc面试题及答案”,你能回答上来吗?如果想要了解更多的Java面试题相关内容,可以关注星辉Java官网。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>