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