Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
21道Java Spring MVC综合面试题详解含答案(值得珍藏)PDF 下载
发布于:2024-03-05 10:07:48
(假如点击没反应,多刷新两次就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是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)

 

2.2 什么是DispatcherServlet

 

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

 

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

 

控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一

个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控

制器。

 

2.4 Spring MVC的控制器是不是单例模式,如果是,有什么

问题,怎么解决?

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

里面不能写字段。

 

3.工作原理

3.1 Spring MVC工作原理

(1)客户端发送请求到DispatcherServlet

(2)DispatcherServlet查询handlerMapping找到处理请求的Controller

(3)Controller调用业务逻辑后,返回ModelAndView

(4)DispatcherServlet查询ModelAndView,找到指定视图

(5)视图将结果返回到客户端