SpringMVC学习笔记总结
来源:互联网 发布:钢笔 知乎 编辑:程序博客网 时间:2024/06/17 02:33
笔记 hello Spring MVC
1. mvc框架要做那些事情:
a)将url映射到java类或java类的方法。
b)封装用户提交的数据。
c)处理请求-调用相关的业务处理-封装响应的数据。
d)将响应的数据进行渲染,jsp,html,freemarke等。
2.spring mvc是一个轻量级的,基于请求响应的mvc框架
3.为什么要学习spring mvc(优点)
性能较struct2好
简单,便捷,易学
天生和spring无缝集成(使用spring ioc,aop)
使用约定优于配置
能够进行简单junit测试
支持Restful风格
异常处理
本地化,国际化
数据验证、类型装换等
拦截器等
---------------------优势大,使用的人多-----------
4.mvc设计模式原理图
5.spring mvc原理和设计图
Spring MVC是什么:
springMVC是一个MVC的开源框架,springMVC=struts2+spring,springMVC就相当于是Struts2加上sring的整合,但是这里有一个疑惑就是,springMVC和spring是什么样的关系呢?这个在百度百科上有一个很好的解释:意思是说,springMVC是spring的一个后续产品,其实就是spring在原有基础上,又提供了web应用的MVC模块,可以简单的把springMVC理解为是spring的一个模块(类似AOP,IOC这样的模块),网络上经常会说springMVC和spring无缝集成,其实springMVC就是spring的一个子模块,所以根本不需要同spring进行整合。
Spring mvc原理图:
图的步骤:(可以对比MVC的原理图进行理解)
第一步:用户发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找
第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)
第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
第五步:处理器适配器去执行Handler
第六步:Handler执行完给处理器适配器返回ModelAndView
第七步:处理器适配器向前端控制器返回ModelAndView
第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析
第九步:视图解析器像前端控制器返回View
第十步:前端控制器对视图进行渲染
第十一步:前端控制器向用户响应结果
看到这些步骤我相信大家很感觉非常的乱,这是正常的,但是这里主要是要大家理解springMVC中的几个组件:
前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。
处理器映射器(HandlerMapping):根据URL去查找处理器
处理器(Handler):(需要程序员去写代码处理逻辑的)
处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)
视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面.
- SpringMVC学习笔记总结
- springMVC学习笔记(九) ---- 总结
- springMVC学习笔记(三) ---- controller配置总结
- springMVC笔记总结
- springMVC学习笔记--初识springMVC
- SpringMvc 学习笔记-------springmvc框架
- SpringMVC学习总结(一)
- SpringMVC学习总结(二)
- SpringMVC学习总结(三)
- SpringMVC学习总结(四)
- SpringMVC学习总结(五)
- springmvc interceptori学习总结
- Springmvc学习总结
- SpringMvc之前学习总结
- Web-SpringMVC学习总结
- SpringMVC学习相关总结
- springMVC-学习总结-框架
- springmvc-学习总结-注解
- JAVA中字符串的简单操作
- 【010】Java语言(Hello World)
- 【模板】BFS
- HDU
- 论文笔记《Single Image Haze Removal Using Dark Channel Prior--Kaiming He》
- SpringMVC学习笔记总结
- maximum subarray
- Android中的Intent显式与隐式
- Sicily.1001
- 生活小记8
- sql语句中left join、inner join中的on与where的区别
- new/malloc和delete/free的区别
- VUE UI框架
- bzoj 1196 [HNOI2006]公路修建问题 二分+并查集