Python知识分享网 - 专业的Python学习网站 学Python,上Python222
21道Java Spring MVC综合面试题详解含答案(值得珍藏)PDF 下载
发布于:2024-01-29 11:25:26
(假如点击没反应,多刷新两次就OK!)

21道Java Spring MVC综合面试题详解含答案(值得珍藏)PDF 下载   图1

 

 

 

资料内容:

 

 

1.概述
 
1.1 什么是Spring MVC?简单介绍下你对Spring MVC的理
解?
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-
制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便
组内开发人员之间的配合。
 
1.2 Spring MVC的优点
1)可以支持各种视图技术,而不仅仅局限于JSP
2)与Spring框架集成(如IoC容器、AOP等);
3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping),处理器
适配器(HandlerAdapter), 视图解析器(ViewResolver)。
4) 支持各种请求资源的映射策略。
 
2.核心组件

 

2.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是一个接口, 它的实现类支持不同的视图类型(jspfreemarkerpdf等等)
 
2.2 什么是DispatcherServlet
 
SpringMVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。
 
2.3 什么是Spring MVC框架的控制器?
 
控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一
个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控
制器。
 
2.4 Spring MVC的控制器是不是单例模式,如果是,有什么

问题,怎么解决?

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

3.1 Spring MVC工作原理

1)客户端发送请求到DispatcherServlet
2DispatcherServlet查询handlerMapping找到处理请求的Controller
3Controller调用业务逻辑后,返回ModelAndView
4DispatcherServlet查询ModelAndView,找到指定视图
5)视图将结果返回到客户端