流程
一、用户发送请求至前端控制器DispatcherServlet (Dispatcher调度)
二、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
三、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(若是有则生成)一并返回给DispatcherServlet。
四、DispatcherServlet调用HandlerAdapter处理器适配器 。
五、HandlerAdapter通过适配调用具体的处理器(Controller,也叫后端控制器)。
六、用具体的处理器Controller执行完成返回ModelAndView 。
七、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
八、DispatcherServlet将ModelAndView传给ViewReslover视图解析器 。
九、ViewReslover解析后返回具体View 。
十、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
十一、DispatcherServlet响应用户。前端
①springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过虑器。spring
②springmvc是基于方法开发,传递参数是经过方法形参,能够设计为单例或多例(建议单例),struts2是基于类开发,传递参数是经过类的属性,只能设计为多例。
③Struts采用值栈存储请求和响应的数据,经过OGNL存取数据, springmvc经过参数解析器是将request对象内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象,最后又将模型数据经过request对象传输到页面。 Jsp视图解析器默认使用jstl。后端