1.简单谈一下springmvc的工作流程
1.用户发送请求到前端控制器(DispatcherServlet)
2.DispatcherServlet收到请求调用HandlerMapping处理器映射器
3.处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器,一并返回给DispatcherServlet
4.DispatcherServlet调用HandlerAdapter处理器适配器
5.HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)
6.Controller执行完成返回ModelAndView
7.HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet
8.DispatcherServlet将ModelAndView传给ViewResolver视图解析器
9.视图解析器解析后返回具体View
10.DispatcherServlet根据View进行渲染视图
11.DispatcherServlet响应用户
2.springmvc与struts2的主要区别
1.springmvc的入口是一个servlet,而struts2是一个filter过滤器
2.springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例,struts2是基于类开发,传递参数是通过类的属性,只能设计为多例
3.struts2通过值栈存储请求和响应的数据,通过OGNL存取数据。springmvc通过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过Request域传输到页面。jsp视图解析器默认使用jstl。