[Java面试]二:常见面试题之框架篇Spring MVC

我的博客首页:http://blog.csdn.net/m0_37116405
我的GitHub首页:https://github.com/KissLouis


  1. 什么是Spring MVC
    1. 1Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型。框架的目的就是帮助我们简化开发。
  2. SpringMVC的工作流程(简洁版本)
    1. 用户提交请求到前端控制器dispatcherServlet
    2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
    3. DispatcherServlet将请求提交到Controller
    4. Controller进行业务逻辑处理后,返回ModelAndView对象,该对象本身就包含了视图对象信息
    5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView对象指定的视图对象
    6. 视图负责将结果显示到客户端
      [Java面试]二:常见面试题之框架篇Spring MVC
  3. SpringMVC的优点
    1. 是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是 java组件.并且和Spring提供的其他基础结构紧密集成
    2. 与Spring框架天生整合,无框架兼容问题 与Struts2相比安全性高 配置量小、开发效率高
  4. SpringMVC与Struts2的区别
    1. springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。
    2. springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例(建议单例),struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
    3. Struts采用值栈存储请求和响应的数据,通过OGNL存取数据。 springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl。

常见面试题,还需补充。
如果本篇博文中存在问题,烦请指出,本人及时修改,谢谢阅读!