SpringMVC学习笔记(一)
一、SpringMVC简单介绍
首先来了解一下什么是MVC: 模型(model)-视图(veiw)-控制器(controller)(是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。
Spring MVC是一种基于Java实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型。
二、SpringMVC的工作流程
SpringMVC执行流程:
1.用户发送请求至前端控制器DispatcherServlet
2.DispatcherServlet收到请求调用处理器映射HandlerMapping。
3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给DispatcherServlet。
4.DispatcherServlet根据处理器Handler获取处理器适配器HandlerAdapter执行HandlerAdapter处理一系列的操作,如:参数封装,数据格式转换,数据验证等操作。
5.执行处理器Handler(Controller,也叫页面控制器)。
6.Handler执行完成返回ModelAndView。
7.HandlerAdapter将Handler执行结果ModelAndView返回到DispatcherServlet。
8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
9.ViewReslover解析后返回具体View。
10.DispatcherServlet对View进行渲染视图(即将模型数据model填充至视图中)。
11.DispatcherServlet响应用户。
三、springMVC中的组件:
1.前端控制器(DispatcherServlet): 接收请求,响应结果。
2.处理器映射器(HandlerMapping): 根据请求的url查找Handler。
3.处理器(Handler): Handler 是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler对具体的用户请求进行处理。
4.处理器适配器(HandlerAdapter):按照特定规则(HandlerAdapter要求的规则)去执行Handler。
5.视图解析器(ViewResovler): 进行视图解析,多返回的字符串,进行处理,根据逻辑视图名解析成真正的视图。
6. 视图(View): View是一个接口,实现类支持不同的View类型(jsp、html等);
四、SpringMVC 的优点
(1)开发方便:清晰的角色划分,控制器(controller)、验证器(validator)、命令对象(command obect)、模型对象(model object)、表单对象(form object)、Servlet分发器(DispatcherServlet)、处理器映射(handler mapping)、试图解析器(view resoler)等等。
(2)springMVC中使用基于xml的配置文件,可以编辑,无需重新编译应用程序。
(3)springMVC实例化控制器,并根据用户输入来构造bean。
(4)springMVC可以自动绑定用户输入,并正确的转换数据类型。
(5)springMVC是spring框架的一部分,可以利用spring提供的其它能力。
(6)springMVC支持国际化和本地化,支持根据用户区域显示多国语言。
(7)springMVC支持视图技术,最常见的JSP技术。