龙空技术网

10道经常会被问到的SpringMVC面试题

目元 111

前言:

眼前我们对“ajax返回类对象”大体比较关注,同学们都需要分析一些“ajax返回类对象”的相关知识。那么小编也在网络上搜集了一些关于“ajax返回类对象””的相关知识,希望小伙伴们能喜欢,你们一起来学习一下吧!

什么是SpringMVC?

SpringMVC是Spring的一个模块,基于MVC的一个框架,无需中间整合层来整合。

SpringMVC的优点有哪些?

1、它是基于组件技术的全部的应用对象,无论控制器和视图,还是业务对象之类的Java组件,并且是Spring提供的其他基础结构紧密集成。

2、不依赖Servlet API(目标虽是如此,但是在实际的时候确实依赖于Servlet的)

3、可以任意使用各种视图技术,而不仅仅局限于JSP

4、支持各种请求资源的映射策略

5、它是易于扩展的

SpringMVC的工作原理?

①、客户端发送请求到DispatcherServlet

②、DispatcherServlet查询HandlerMapping找到处理请求的Controller

③、Controller调用业务逻辑后,返回MondelAndView

④、DispatcherServlet查询ModelAndView,找到指定的视图

⑤、视图将结果返回到客户端

SpringMVC的工作流程是什么?

①、用户发送请求到前端控制器DispatcherServlet

②、DispatcherServlet收到请求调用HandlerMapping处理器映射器

③、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象以及处理器拦截器(如果有则生成)一并返回给DiapatcherServlet

④、DispatcherServlet调用HandlerAdapter处理器适配器

⑤、HandlerAdapter经过适配调用具体的处理器(Controller,也叫做后端控制器)

⑥、Controller执行完成后返回ModelAndView

⑦、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

⑧、DispatcherServlet将ModelAndView传给ViewReslover视图解析器

⑨、ViewReslover解析后返回具体的View

⑩、DispatcherServlet根据View进行视图渲染

⑾、DispatcherServlet响应用户

SpringMVC的控制器是不是单例模式?如果是会有什么问题,如何解决?

是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的。解决方案就是在控制器里不要写字段。

怎么样把某个请求映射到特定的方法上面?

直接在方法的上面加上注解@RequestMapping,并且在这个注解里边写上要拦截的路径

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

可以在@RequestMapping注解里边加上method=RequestMethod.GET

SpringMVC中函数的返回值是什么?

返回值可以是String或者ModelAndView,当然一般用String比较好

如何在拦截的方法中得到从前台传过来的参数?

直接在形参里声明这个参数就可以,但是名字必须和传过来的参数一样

当一个方法向AJAX返回特殊对象,例如Object、List等,需要做什么处理?

要加上@ResponseBody注解

关注我,每天分享编程小知识!

标签: #ajax返回类对象