引言
现在springMVC这个框架是比较流行的,我们在项目中使用的也是比价多的,但是在项目中的使用并不能很全面的了解springMVC这个框架的全貌,所以小编就系统的学习了一下这个知识点,下面是一些总结,和大家分享:
上面总结了springMVC的基本知识点,下面在分享一下几个重点的知识点:
springMVC 处理请求流程
具体执行步骤如下:
1、首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
springMVC核心架构图
小结
我们在上面说了这么多,那么springMVC到底给我做了什么呢?
1、让我们能非常简单的设计出干净的Web层和薄薄的Web层;
2、进行更简洁的Web层的开发;
3、天生与Spring框架集成(如IoC容器、AOP等);
4、提供强大的约定大于配置的契约式编程支持;
5、能简单的进行Web层的单元测试;
6、支持灵活的URL到页面控制器的映射;
7、非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用);
8、非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API;
9、提供一套强大的JSP标签库,简化JSP开发;
10、支持灵活的本地化、主题等解析;
11、更加简单的异常处理;
12、对静态资源的支持;
13、支持Restful风格。