Spring MVC 面试题(2022 最新版)

文章目录
概述
什么是 Spring MVC?简单介绍下你对 Spring MVC 的理解?
Spring MVC 的优点
核心组件
Spring MVC 的主要组件?
什么是 DispatcherServlet
什么是 Spring MVC 框架的控制器?
Spring MVC 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
工作原理
请描述 Spring MVC 的工作流程?描述一下 DispatcherServlet 的工作流程?
MVC 框架
MVC 是什么?MVC 设计模式的好处有哪些
常用注解
注解原理是什么
Spring MVC 常用的注解有哪些?
SpingMvc 中的控制器的注解一般用哪个,有没有别的注解可以替代?
@Controller 注解的作用
@RequestMapping 注解的作用
@ResponseBody 注解的作用
@PathVariable 和 @RequestParam 的区别
其他
Spring MVC 与 Struts2 区别
Spring MVC 怎么样设定重定向和转发的?
Spring MVC 怎么和 AJAX 相互调用的?
如何解决 POST 请求中文乱码问题,GET 的又如何处理呢?
Spring MVC 的异常处理?
如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置
怎样在方法里面得到 Request, 或者 Session?
如果想在拦截的方法里面得到从前台传入的参数,怎么得到?
如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
Spring MVC 中函数的返回值是什么?
Spring MVC 用什么对象从后台向前台传递数据的?
怎么样把 ModelMap 里面的数据放入 Session 里面?
Spring MVC 里面拦截器是怎么写的
介绍一下 WebApplicationContext
Java 面试总结汇总,整理了包括 Java 基础知识,集合容器,并发编程,JVM,常用开源框架 Spring,MyBatis,数据库,中间件等,包含了作为一个 Java 工程师在面试中需要用到或者可能用到的绝大部分知识。欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…

概述
什么是 Spring MVC?简单介绍下你对 Spring MVC 的理解?
Spring MVC 是一个基于 Java 的实现了 MVC 设计模式的请求驱动类型的轻量级 Web 框架,通过把模型 - 视图 - 控制器分离,将 web 层进行职责解耦,把复杂的 web 应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

Spring MVC 的优点
(1)可以支持各种视图技术,而不仅仅局限于 JSP;

(2)与 Spring 框架集成(如 IoC 容器、AOP 等);

(3)清晰的角色分配:前端控制器 (dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。

(4) 支持各种请求资源的映射策略。

核心组件
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 等等)

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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值