SpringMVC面试题

1、SpringMVC的工作流程
SpringMVC面试题_第1张图片

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调用HandlerMapping处理器映射器
  3. 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给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响应用户

2、SpringMVC与Struts2的主要区别

  1. springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器
  2. springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例,
    struts2是基于类开发,传递参数是通过类的属性,只能设计为多例
  3. Struts采用值栈存储请求和响应的数据,通过OGNL存取数据,springmvc通过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面

你可能感兴趣的:(SpringMVC)