当前位置: 首页 > news >正文

架构师面试题系列之Spring MVC面试专题及答案(31题)

目录

  • 1、什么是 SpringMvc?说一下你对它的理解
  • 2、SpringMVC 的优点 :
  • 3、SpringMVC 工作原理?
  • 4、SpringMVC 的主要组件?
  • 5、讲下 SpringMvc 的执行流程
  • 6、SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?
  • 7、如果在拦截请求中,想拦截 get 方式提交的方法,怎么配置?
  • 8、怎样在控制器方法里面得到 request 或者 session?
  • 9、如果想在拦截的方法里面得到从前台传入的参数,怎么得到?
  • 10、前台传入多个参数,并且这些参数都是一个对象的属性,怎么进行参数绑定?
  • 11、SpringMVC 用什么对象从后台向前台传递数据的?
  • 12、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
  • 13、如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
  • 14、SpingMvc 中的控制器的注解一般用那个,有没有别的注解可以替代?
  • 15、 @RequestMapping 注解用在类上面有什么作用?
  • 16、怎么样把某个请求映射到特定的方法上面?
  • 17、如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置?
  • 18、怎么样在方法里面得到 Request,或者 Session?
  • 19、我想在拦截的方法里面得到从前台传入的参数,怎么得到?
  • 20、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快
  • 21、SpringMvc 中函数的返回值是什么?
  • 22、SpringMVC 怎么样设定重定向和转发的?
  • 23、SpringMvc 用什么对象从后台向前台传递数据的?
  • 24、SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?
  • 25、怎么样把 ModelMap 里面的数据放入 Session 里面?
  • 26、SpringMvc 怎么和 AJAX 相互调用的?
  • 27、当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理?
  • 28、当一个方法向 AJAX 返回特殊对象,譬如 Object,List 等,需要做什么处理?
  • 29、如何解决 POST 请求中文乱码问题,GET 的又如何处理呢?
  • 30 、SpringMvc 里面拦截器是怎么写的
  • 31、什么是 MVC 模式?
  • 总结

1、什么是 SpringMvc?说一下你对它的理解

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

2、SpringMVC 的优点 :

答:
(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 方式提交的方法,怎么配置?

可以在@RequestMapping 注解里面加上 method=RequestMethod.GET。
@RequestMapping(value=“/toLogin”,method = RequestMethod.GET)public
ModelAndView toLogin(){}
可以使用@GetMapping 注解。
@GetMapping(v


http://www.mrgr.cn/news/10691.html

相关文章:

  • FastAdmin 和 Dcat Admin从使用场景、适合人群、使用成本、资源完善程度、bug 解决、安全性全方位解析
  • 【区块链 + 智慧文旅】虎彩印刷链 | FISCO BCOS应用案例
  • 【Java】从零到一使用Feign与Sentinel (详细图解)
  • 深度学习语义分割篇——LR-ASPP原理详解+源码实战
  • okhttp的WebSocket心跳实现原理
  • 学习前端面试知识(15)
  • 常用正则表达式集合
  • 13. volatile是什么,本质上有什么作用,使用中有哪些注意点?
  • JAVA-常见八股文(4)-内部类和匿名内部类
  • 设计模式篇(DesignPattern - 结构型模式)(持续更新迭代)(图片待加载)
  • SDIOverIP 产生、SMPTE 2110类型
  • leetCode - - - 二叉树
  • Git(分布式版本控制系统)
  • Java笔试面试题AI答之线程(23)
  • 使用Jmeter进行接口压力测试
  • Containerd方式部署K8s集群
  • Clickhouse集群化(二)单节点部署
  • 《黑神话·悟空》是用什么编程语言开发的?
  • 分类预测|基于Transformer的数据分类预测Matlab程序 多特征输入多类别输出 一键运行
  • docker部署clickhouse