2021年最新java SpringMVC面试题及答案

本文详细解答了SpringMVC的相关面试问题,包括Spring的理解、优点、工作原理、主要组件、执行流程、控制器注解及其替代方案、拦截器配置、参数获取、数据绑定、与Struts2的区别,以及如何处理中文乱码等问题,全面覆盖了SpringMVC的核心概念和技术细节。
摘要由CSDN通过智能技术生成

1.什么是 Spring?谈一下你的理解
答:Spring MVC是一个基于Java地实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

2.Spring MVC的优点:
答:

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

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

(3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。(4) 支持各种请求资源的映射策略。

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

4.SpringMVC的主要组件?
答:

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

5、讲下 SpringMvc 的执行流程
答:系统启动的时候根据配置文件创建 spring 的容器, 首先是发送 http 请求到核心控制器disPatherServlet,spring 容器通过映射器去寻找业务控制器,使用适配器找到相应的业务类,在进业务类时进行数据封装,在封装前可能会涉及到类型转换,执行完业务类后使用ModelAndView 进行视图转发,数据放在 model 中,用 map 传递数据进行页面显示。

6、SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?

1.一般使用@Controller注解标识控制器。

2.也可以使用@RestController注解替代@Controller注解,@RestController相当于@ResponseBody+@Controller,表示控制器中所有的方法都返回JSON格式数据,一般不使用其他注解标识控制器。

7、如果在拦截请求中,想拦截get方式提交的方法,怎么配置?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值