springmvc基础知识

1、什么是springMVC

2、springMVC框架原理(掌握)

前端控制器、处理器映射器、处理器适配器、视图解析器

3、springmvc入门程序

目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习

非注解的处理器映射器、处理器适配器

    注解的处理器映射器、处理器适配器(掌握)

3、springMVC和Mybatis整合(掌握)

4、springMVC注解开发

1)常用的注解学习

2)参数绑定(简单类型、pojo、集合类型)

3)自定义参数绑定(掌握)

5、springmvc和struts2的区别

————————————————————————————————————————————

————————————————————————————————————————————

一、springmvc框架原理

1.1 什么是springmvc

springmvc是spring的一个模块,springmvc和spring无需中间整合层整合

springmvc是基于mvc的web框架。(mvc是一个设计模式)

1.2、mvc在B/S系统下的应用

mvc是一个设计模式,mvc在B/S系统下的应用:

1.3 springmvc框架原理

第一步:发起请求到前端控制器(Dispatcherservlet)

第二步:前端控制器请求处理器映射器handlerMapping查找handler

可以根据xml配置或者注解查找

第三步:处理器映射器handerMapping返回handler

第四步:前端控制器调用处理器适配器(handlerAdapter)去执行handler

第五步:处理器适配器(handlerAdapter)去执行handler

第六步:handler处理器(controller)适配器(handlerAdapter)返回ModelAndView

第七步:处理器适配器(handlerAdapter)向前端控制器返回ModelAndView

ModelAndView是springmvc底层的一个对象,包括model和view

第八步:前端控制器请求视图解析器(View resolver)去进行视图解析

根据逻辑视图名解析成真正的视图(jsp)

第九步:视图解析器向前端控制器返回view

第十步:前端控制器进行视图渲染

视图渲染将模型数据(在ModelAndView对象中)填充到request中。

第十一步:前端控制器向用户响应结果(response)

组件:

1、前端控制器Dispatcherservlet(不需要程序员开发)

作用:接收请求,响应结果,相当于转发器,中央处理器

有了Dispatcherservlet减轻了其他组件之间的耦合度

2、处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求url查找Handler

3、处理器适配器HandlerAdapter

作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

4、Handler处理器(需要程序员开发)

注意:编写Hander处理器时要按照适配器(HandlerAdapter)规则去编写,这样适配器才能正确执行Hander

5、视图解析器View resolver(不需要程序员开发)

作用:进行视图解析,根据逻辑视图名解析成真正的视图(springmvc中的view的对象)

6、视图View(需要程序员开发jsp)

View是一个接口,实现类支持不同的view类型(jsp、freemarker、pdf。。。)

【一】SpringMVC框架原理的更多相关文章

  1. springmvc框架原理分析

    第一步:用户发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找Handler,可以根据xml配置,注解进行查找 第三步:处理器映射器Ha ...

  2. 快速学习springMVC框架原理

    一.通过导图的方法快速去理解springmvc的原理 二.架构流程. 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用Handle ...

  3. springmvc(一) springmvc框架原理分析和简单入门程序

    springmvc这个框架真的非常简单,感觉比struts2还更简单,好好沉淀下来学习~ --WH 一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解 ...

  4. SpringMVC学习(一)———— springmvc框架原理分析和简单入门程序

    一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...

  5. springmvc框架原理分析和简单入门程序

    一.什么是springmvc? 我们知道三层架构的思想,并且如果你知道ssh的话,就会更加透彻的理解这个思想,struts2在web层,spring在中间控制,hibernate在dao层与数据库打交 ...

  6. springmvc框架原理

    1.  用户发送请求至前端控制器DispatcherServlet 2.  DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.  处理器映射器根据请求url ...

  7. springmvc 框架原理

    先来个原理图,镇博. (图片出处:http://www.cnblogs.com/selene/p/4658554.html,感谢博主的图) 着重看:处理器映射器,处理器适配器,这两个的配置. 这两个的 ...

  8. 传智springMVC笔记

    springmvc 第一天 springmvc的基础知识 课程安排: 第一天:springmvc的基础知识 什么是springmvc? springmvc框架原理(掌握) 前端控制器.处理器映射器.处 ...

  9. springMVC1 springmvc的基础知识

    springmvc第一天 springmvc的基础知识 springmvc课程安排: 第一天: 基础知识 springmvc框架(重点) mvc在b/s系统中应用方式 springmvc框架原理(Di ...

随机推荐

  1. Mysql5.7降级到5.6遇到的坑

    任何版本的升级或降级都存在兼容的问题,DB更为明显,废话不多说,直接进入主题,问题描述如下: Specified key was too long; max key length is 767 byt ...

  2. kali linux 虚拟机克隆之后版本回退问题

    今天在做虚拟机的克隆的之后发现 之前kali linux 系统内核升级后的更改全部又回退到之前的版本,也就是说之前安装的软件被删除了,现在需要自己重新安装一遍  ,(我滴个乖乖哟) 这里就不放图了.

  3. Visio 撤销按钮无法使用 菜单显示:无法撤销

    首先是借鉴地址:https://answers.microsoft.com/en-us/msoffice/forum/msoffice_visio-mso_other-mso_2007/visio-o ...

  4. python爬有道翻译

    在有道翻译页面中打开开发者工具,在Headers板块找到Request URL以及相应的data. import urllib.request import urllib.parse import j ...

  5. Spring -07 -AOP [面向切面编程] - 使用注解@+ AspectJ 方式实现环绕/前/后等通知 -超简洁 --静态代理/动态代理{JDK/cglib}

    1.spring 不会自动去寻找注解,必须告诉 spring 哪些包下的类中可能有注解;使用注解来取代配置文件.1.1 引入xmlns:context ,指定扫描范围 <context:comp ...

  6. codevs 1341 与3和5无关的数

    题目描述 Description 有一正整数a,如果它能被x整除,或者它的十进制表示法中某位上的数字为x,则称a与x相关.现求所有小于等于n的与3或5无关的正整数的平方和. 输入描述 Input De ...

  7. [转] ubuntu16.04添加系统 service, 并设置开机自动启动

    转:https://www.jianshu.com/p/1958878646bd 1. 创建pfly.service文件 2.  执行 systemctl daemon-reload 3. 执行 sy ...

  8. CString、char*l类型转换

    环境:VS2010 1.CString to char* 第一种方法: 需头文件:atlconv.h CString   host_string; //CString to char* USES_CO ...

  9. 棋盘覆盖 状压DP+矩阵快速幂

    题意:有一个m 行n 列的矩形方格棋盘,1 < = m< = 5,1=< n< =10^9,用1*2 的骨牌(可横放或竖放)完全覆盖,骨牌不能重叠,有多少种不同的覆盖的方法.你 ...

  10. JS AJAX和JSONP的基础功能封装以及使用示例;

    1.代码: function ajax(options){ options = options || {}; options.type = options.type || "get" ...