Spring MVC面试题(一)

1.什么是Spring MVC?

全称为Model View Controller,Spring MVC是Spring的一个模块,基于MVC架构模式的一个框架

2.Spring MVC优点?

1.可用各种视图技术,不仅限于JSP

2.支持各种请求资源映射策略

3. Spring MVC工作原理?

1.客户端发送请求到DispatcherServlet

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

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

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

5.DispatcherServlet把视图返回到客户端

4.Spring MVC执行流程?

MVC执行流程_mvc 执行流程-CSDN博客文章浏览阅读508次,点赞11次,收藏4次。(1)用户通过浏览器(客户端)向服务端(后端)发送请求,请求会被前端控制器。根据请求的url找到具体的处理器,生成处理器对象以及处理器拦截器(对象,该对象中会包含视图名或包含模型和视图名。会通过返回信息选择合适的处理器适配器(拦截到请求后,会调用处理器映射器()根据逻辑视图名解析成真正的视图,向浏览器返回响应结果。_mvc 执行流程https://blog.csdn.net/2301_80484340/article/details/145092353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522cbf3269925b4472cc75a9e3018bc56cc%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=cbf3269925b4472cc75a9e3018bc56cc&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-145092353-null-null.nonecase&utm_term=mvc&spm=1018.2226.3001.4450

5.Spring MVC的Controller是不是单例模式,如果是,有什么问题,怎么解决?

是单例模式,在多线程访问时有线程安全问题,不要用同步,会影响性能,解决方案是在Controller里面不要写字段

6.Spring MVC中的控制器的注解一般用哪个?

@Controller,@RestController都行,@RestController是升级版,由@Controller和@ResponseBody组成

null文章浏览阅读369次,点赞6次,收藏4次。区别1:区别1:@RestController是@Controller的升级版区别2:用于标识一个类作为控制器,并且可以处理HTTP请求。控制器类通常用于接收用户输入并决定返回响应的内容。@RestController通常用于返回JSON或XML数据。https://blog.csdn.net/2301_80484340/article/details/144894266?ops_request_misc=%257B%2522request%255Fid%2522%253A%252212561f31e81cce8b96226adcd4e10592%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=12561f31e81cce8b96226adcd4e10592&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-144894266-null-null.nonecase&utm_term=%40RestController&spm=1018.2226.3001.4450

7.@RequestMapping的作用?

是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该路径作为父路径

8.如果想在拦截请求中,我想拦截get方法提交的方法,怎么做?

在@RequestMapping里面加上method=RequestMethod.GET或者用@GetMapping

9.怎么样在方法里面得到Request或者Session?

直接在方法的参数里面写HttpServletRequest request,Spring MVC就会自动把request传入

10.我想在拦截的方法里面接收前端请求的参数,怎么做?

@RequestParam 和 @PathVariable区别-CSDN博客文章浏览阅读647次,点赞19次,收藏5次。用于获取查询参数,适合处理可选或带默认值的参数。用于获取路径中的变量,适合处理 RESTful 风格的 URL。JAVA。https://blog.csdn.net/2301_80484340/article/details/145564505?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522ae8fa8b667489ef27f2c0f851f71f834%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=ae8fa8b667489ef27f2c0f851f71f834&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-145564505-null-null.nonecase&utm_term=%40requestparam&spm=1018.2226.3001.4450

11.Spring MVC中有个把视图和数据合并到一起的类叫什么?

ModelAndView

相关推荐
寻星探路19 分钟前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧3 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法3 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7254 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎4 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄4 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿4 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds4 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹4 小时前
【Java基础】多态 | 打卡day2
java·开发语言
Re.不晚4 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言