一、什么是SpringMVC
SpringMVC是一种web层mvc开源框架,是Spring的一个子框架,拥有Spring的特性。
二、SpringMVC的优点
1、清晰的角色划分:前端控制器,请求到处理器映射,处理器适配器,视图解析器。
2、支持各种视图技术,不仅仅局限于JSP。
3、指出各种请求资源映射策略。
4、基于组件技术,全部的应用对象都是java组件,并且和Spring提供那个的其他结构紧密集成。
三、SpringMVC的主要组件
1、前置控制器(DispatcherServlet):接收请求,响应结果,相当于转发器,减少其它组件之间的耦合度。
2、处理器映射器(HandlerMapper):根据请求的URL来查找Handler。
3、处理器(Handler):后置控制器,对具体用户的请求进行处理。
4、处理器适配器(HandlerAdapter):拿到处理器返回的结果(ModelAndView)后将结果返回给前端处理器。
5、视图解析器(ViewResolver):将从DispatcherServlet拿到的ModelAndView对象进行解析,生成View对象返回给前端处理器。
四、SpringMVC处理器返回值类型
1、ModelAndView 2、String 3、无返回值void 4、返回自定义类型对象
五、SpringMVC的执行流程
1、用户发送请求至前端控制器DispatcherServlet;
2、DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;
3、处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器;
5、执行处理器(Handler&controller,也叫后端控制器);
6、Handler执行完成返回ModelAndView;
7、HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;
8、DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
9、ViewResolver解析后返回具体View;
10、DispatcherServlet对View进行渲染视图;
11、DispatcherServlet响应用户。