美文网首页
Spring MVC面试题

Spring MVC面试题

作者: 无心的雨_多情的泪 | 来源:发表于2019-08-26 16:25 被阅读0次

    一、什么是Spring MVC?

    Spring MVC是spring的一个模块,基于MVC的一个框架,不需要中间整合层。

    二、Spring MVC的优点?

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

    2、不依赖与Servlet API(虽然如此,但在实现的时候还是要依赖与servlet)。

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

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

    5、是易于扩展的。

    三、Spring MVC的工作原理

    1、客户端发送请求到dispatcherServlet。

    2、dispatcherServlet查询handlerMapping找到请求的controller。

    3、controller调用业务逻辑,返回ModelAndView。

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

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

    五、Spring MVC流程

    1、用户发送请求到前端控制器(DispatcherServlet)。

    2、前端控制器(DispatcherServlet)收到请求后,调用处理器映射器(handlerMapping)

    3、处理器映射器(handlerMapping)找到具体的处理器(handler)(通过xml配置或者注解进行查找),生成处理器以及处理器拦截器,然后返回给前端控制器(DispatcherServlet)。

    4、前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)。

    5、处理器适配器(HandlerAdapter)经过适配器调用具体的处理器(controller,也叫后端控制器)。

    6、处理器(controller)执行完成后返回结果(ModelAndView)。

    7、处理器适配器(HandlerAdapter)将处理器(controller)的执行结果(ModelAndView)返回给前端控制器(DispatcherServlet)。

    8、前端控制器(DispatcherServlet)将ModelAndView传给视图解析器(ViewReslover)。

    9、视图解析器(ViewReslover)解析后返回具体的view。

    10、前端控制器(DispatcherServlet)根据view进行渲染视图(即将模型数据填充至视图中)。

    11、前端控制器(DispatcherServlet)向用户相应结果。

    六、Spring MVC的控制器是单例模式吗?

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

    七、Ssruts2和Spring MVC有什么区别?

    1、Spring MVC的入口是一个servlet,即前端控制器,而struts2的入口是一个filter过滤器。

    2、Spring MVC是基于方法开发的,即一个url对应一个方法,请求参数传递到方法的形参,设计为单例或多例模式,不过建议用单例。struts2是基于类开发,传递参数是通过类的属性,只能计为多例。

    3、Spring MVC通过参数分析器将request请求内容解析,并给方法的形参赋值,将数据和视图封装成ModelAndView,最后将ModelAndView中的模型数据通过request域传输到页面,jsp解析用jstl。struts2采用值栈存储请求和响应的数据,通过OGNL存取数据,

    八、必背

    1、在Spring MVC中控制器的注解一般用@controller,表示是控制层,不能用别的来代替

    2、@RequetMapping是一个用来处理请求地址映射的注解,可用在类或者方法上。用在类上,表示此类有相应请求的方法都是以该地址作为父路径。

    3、直接在方法上面加@RequestMapping注解可以把某个请求映射到特定的方法上。比如想拦截get方式提交的方法可以这样写@RequestMapping(method=RequestMethod.GET).

    希望能帮助到准备面试的你

    相关文章

      网友评论

          本文标题:Spring MVC面试题

          本文链接:https://www.haomeiwen.com/subject/pxrdectx.html