SpringMVC面试题总结

一、概述

1.什么是Spring MVC

mvc是一种设计模式(设计模式就是日常开发中编写代码的一种好的方法和经验的总结)。模型(model)-视图(view)-控制器(controller),三层架构的设计模式。用于实现前端页面的展现与后端业务数据处理的分离。

Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架。

2.MVC设计模式的好处有哪些

  • 分层设计,实现了业务系统各个组件之间的解耦,有利于业务系统的可扩展性,可维护性。

  • 有利于系统的并行开发,提升开发效率

二、核心组件

1.Spring MVC的主要组件?

(1)前端控制器 DispatcherServlet(不需要程序员开发)

  • 作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。

(2)处理器映射器HandlerMapping(不需要程序员开发)

  • 作用:根据请求的URL来查找Handler

(3)处理器适配器HandlerAdapter

  • 注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。

(4)处理器Handler(需要程序员开发)

(5)视图解析器 ViewResolver(不需要程序员开发)

作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)

(6)视图View(需要程序员开发jsp)

View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)

2.什么是DispatcherServlet

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

3.什么是Spring MVC框架的控制器?

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

4.Spring MVC的控制器是不是单例模式,如果是,有什么问题,怎么解决?

是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。

三、工作原理

    • 请描述Spring MVC的工作流程?

————————————————

你可能感兴趣的:(面试,面试,java,经验分享)