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

相关推荐
默 语6 小时前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
java·数据库·mysql·distinct·group by·1024程序员节·数据去重
oDeviloo8 小时前
新版IntelliJ IDEA个性化设置兼容老版习惯
java·ide·intellij-idea
一只小透明啊啊啊啊8 小时前
Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
java·前端·servlet
spencer_tseng9 小时前
Eclipse Uninstall Software
java·ide·eclipse
嗯、.9 小时前
使用 iText 9 为 PDF 添加文字水印的完整实战
java·pdf·itext
怪兽20149 小时前
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
java·缓存·面试
皮皮林55110 小时前
Java 25 正式发布:更简洁、更高效、更现代!
java
源码_V_saaskw10 小时前
JAVA国际版二手交易系统手机回收好物回收发布闲置商品系统源码支持APP+H5
java·开发语言·微信·智能手机·微信小程序·小程序
جيون داد ناالام ميづ10 小时前
Spring AOP核心原理分析
java·数据库·spring
霸道流氓气质10 小时前
SpringBoot+MybatisPlus+自定义注解+切面实现水平数据隔离功能(附代码下载)
java·spring boot·后端