1. 执行流程

    a.客户端发送请求给前端控制器
    b.前端控制器收到请求后调用处理器映射器
    c.处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给前端控制器
    d.前端控制器通过处理器适配器调用处理器
    e.执行处理器(Controller,也叫后端控制器)
    f.处理器执行并返回ModelAndView
    g.处理器适配器将处理器执行结果ModleAndView返回给前端控制器
    h.前端控制器将ModelAndView传给视图解析器
    i.视图解析器执行并返回具体View
    j.前端控制器对View进行渲染视图(即将模型数据填充至视图中)
    k.前端控制器响应客户端
  2. springmvc与struts2的区别

    a.springmvc的入口是一个servlet即前端控制器;struts2的入口是一个filter过滤器
    b.springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例)
    c.struts2是基于类开发,传递参数是通过类的属性,只能设计成多例
    d.springmvc通过参数解析器将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后将ModelAndView中的模型数据通过request域传输到页面,jsp视图解析器默认使用jstl
    e.struts2采用值栈存储请求和响应的数据,通过OGNL存取数据

更多推荐

springmvc相关面试题