深入剖析Spring Web源码
文章平均质量分 90
罗伯特北京
这个作者很懒,什么都没留下…
展开
-
深入剖析Spring Web源码(三) - Spring Web MVC工作流
1 Spring Web MVC工作流这一章,我们将描述Spring Web MVC的各个组件,组件接口,以及各个组件之间如何协调通信,进而理解Spring Web MVC框架的基本工作原理。1.1 组件以及组件的接口Spring Web MVC是由若干组件组成的,这些组件相互独立又相互协调工作共同完成Spring Web MVC工作流。每个组件都有清晰的接口定义,接口后面都有一个设计良好的类实现体系结构,清晰的抽象出公用的逻辑并且实现在通用的抽象类里,同时提供常用的具体实现类。进而实现一原创 2010-09-17 13:37:00 · 8424 阅读 · 8 评论 -
深入剖析Spring Web源码(十五) - 处理器映射,处理器适配器以及处理器的实现 - 处理器的实现架构 - HTTP请求处理器
4.2.2.3.3 HTTP请求处理器HTTP请求处理器是用来实现基于HTTP请求的远程调用的处理器。在前面章节基于流程的分析中,我们已经对典型的HTTP请求处理器进行了详细的分析和代码注释。事实上,除了HTTP调用服务导出器(HttpInvokerServiceExporter)的实现,还有更多的基于HTTP请求的远程调用的实现。如下类图所示,图表4‑36如上图所示,除了HTTP调用服务导出器以外,还有两个远程调用的实现类,他们是Hessian服务导出器和Burlap服务导出器,他们的实现流程和HTTP调原创 2010-10-10 21:30:00 · 4956 阅读 · 0 评论 -
深入剖析Spring Web源码(十三) - 处理器映射,处理器适配器以及处理器的实现 - 处理器的实现架构 - 简单控制器
1.1.1.1 处理器的实现架构作为总控制器的派遣器Servlet将得到的处理器传递给支持此处理器的处理器适配器,处理器适配器然后调用处理器中适当的处理器方法,最后返回处理结果给派遣器Serlvet。处理器架构中并没有简单的处理器接口定义,任何一个对象类型都可以成为处理器,每个类型的处理器都有一个对应的处理器适配器,用于将HTTP请求适配给一定类型的处理器。处理器根据类型分为简单控制器,注解控制器和HTTP请求处理器。我们在讨论基于流程的实现的小节中,已经对每种类型中的典型实现类进行原创 2010-10-10 20:18:00 · 3428 阅读 · 0 评论 -
深入剖析Spring Web源码(十四) - 处理器映射,处理器适配器以及处理器的实现 - 处理器的实现架构 - 注解控制器
4.2.2.3.2 注解控制器上一小结中,我们剖析了简单控制器的实现体系结构。事实上,自从Spring 2.5引进了注解方法控制器, 已经不推荐使用简单控制器的实现体系结构中的基于Form的实现类。注解控制器是通过在一个简单的Java对象上声明具有元信息的注解来实现的。所以,注解控制器并没有接口,抽象类或者实体类的实现体系结构。然而,声明在简单的Java对象上的注解则扮演着至关重要的角色。下面我们根据不同类型的注解进行剖析,1. 标识控制器和控制器方法的注解@Controller一个注解控制原创 2010-10-10 21:18:00 · 5357 阅读 · 0 评论 -
深入剖析Spring Web源码(十六) - 处理器映射,处理器适配器以及处理器的实现 - 拦截器的实现架构
4.2.2.4 拦截器的实现架构从前面的章节分析中得知,处理器映射机制支持处理器拦截器功能。处理器拦截器应用一定的功能在满足一定条件的请求上。处理器拦截器必须实现HandlerInterceptor接口,它定义了三个方法如下,preHandle()任何处理器调用之前调用的方法。它返回一个布尔值,如果返回真,则继续调用处理器链的其他处理器或者拦截器,如果返回假,则停止调用处理器链的其他处理器或者拦截器,在这种情况下,它假设拦截器已经处理了HTTP请求,而且写入了HTTP响应。postHandle()任何处理器原创 2010-10-12 00:10:00 · 8601 阅读 · 0 评论 -
深入剖析Spring Web源码(十九) - 整理的文档和日志的索引(第一版)
整理的文档 把所有的《深入剖析Spring Web》系列日志整理成为文档,供大家下载阅读,希望对大家有所帮助。里面有些章节尚未完成,所以称为第一版。希望不久的将来,能把没有完成的章节在第二版里尽快完成。如果您有任何建议或者发现任何错误,请留言。我会根据大家的意见更改文章内容,格式,组织方式等等。 请登陆CSDN下载文档,下载此文档不需要资源分,下载地址如下, Word格式下载连接PDF格式下载连接HTML格式下载连接 我的下载主页 日志的索引 整理了所有的《深入剖析Spring Web》系列日志的地址,并原创 2010-10-23 22:52:00 · 12196 阅读 · 13 评论 -
深入剖析Spring Web源码(十七) - 视图解析和视图显示 - 基于URL的视图解析器和视图
4.3 视图解析和视图显示上一节,深入的剖析了作为总控制器的派遣器Servlet如何通过处理器映射查找处理器,并且通过处理器适配器进行适配调用处理器实现的业务逻辑服务,进而返回逻辑视图名和模型数据对象。这一节,我们将分析作为总控制器的派遣器Servlet如何解析视图和显示视图。这是Spring Web MVC流程中最后一个关键步骤。由于视图显示技术的多样性,存在很多视图解析器和视图的实现,这一节我们将分析典型的视图解析器和视图显示的实现。他们是基于URL的视图解析器,然后,对于其他更多的视图解析器和视图的实原创 2010-10-23 20:26:00 · 9224 阅读 · 1 评论 -
深入剖析Spring Web源码(十八) - 视图解析和视图显示 - 更多的视图解析器
1.1.1 更多的视图解析器上一节中,我们介绍了基于URL的视图解析器和视图的实现。事实上,还存在这一些视图解析器,他们不仅支持某一种类型的视图实现,而是能在多种视图实现中互相转换和选择。这一节中我们将分析四种这样类型的视图解析器的实现。1.1.1.1 Bean名视图解析器Bean名视图解析器通过把逻辑视图名作为Web应用程序环境中的Bean名来解析视图。如下代码所示,publicclass BeanNameViewResolver extends WebApplicationO原创 2010-10-23 21:58:00 · 6740 阅读 · 0 评论 -
深入剖析Spring Web源码(二十) - Spring安全 - 横向剖析
6. Spring安全Spring安全是一个功能强大的高可插拔的认证和赋权框架。它是Spring应用程序的领域内的标准的安全策略。Spring安全是最成熟的并且被广泛应用的Spring项目之一。自从2003年创建以来,它是一个独立于Spring框架的一个单独项目,这个项目同样是通过阿帕奇2.0协议发布,所以,它可以应用到任何项目,这包括开源项目,免费项目和商业项目。这一章,我们将深入的彻底剖析Spring安全框架的流程和架构。 6.1 横向剖析Spring安全框架主要应用在需要认证与赋权的Web应用程序上。原创 2010-11-07 15:33:00 · 6311 阅读 · 0 评论 -
深入剖析Spring Web源码(十一) - 处理器映射,处理器适配器以及处理器的实现 - 处理器映射的实现架构
<br /> 2.2.2.1 处理器映射的实现架构<br /> <br />作为总控制器的派遣器Servlet首先会轮询处理器映射模块,查找能够处理当前请求的处理器,处理器映射模块根据当前请求的URL返回简单的控制器类型,注解控制器类型或者远程调用处理器类型。前一小节中,我们根据流程的实现分析了Bean名URL处理器映射(BeanNameUrlHandlerMapping)和缺省注解处理器映射(DefaultAnnotationHandlerMapping)。事实上,在处理器映射的实现体系结构中还有其他的实原创 2010-09-29 23:47:00 · 5678 阅读 · 1 评论 -
深入剖析Spring Web源码(十二) - 处理器映射,处理器适配器以及处理器的实现 - 处理器适配器的实现架构
1.1.1.1 处理器适配器的实现架构作为总控制器的派遣器Servlet通过处理器映射得到处理器后,会轮询处理器适配器模块,查找能够处理当前HTTP请求的处理器适配器的实现,处理器适配器模块根据处理器映射返回的处理器类型,例如,简单的控制器类型,注解控制器类型或者远程调用处理器类型来选择某一个适当的处理器适配器的实现来适配当前的HTTP请求。前一小节中,我们根据流程的实现分析了简单控制器处理器适配器(SimpleControllerHandlerAdapter),注解方法处理器适配器原创 2010-10-06 00:25:00 · 4012 阅读 · 0 评论 -
深入剖析Spring Web源码(十) - 处理器映射,处理器适配器以及处理器的实现 - 基于HTTP请求处理器流程的实现
4.2.1.3 基于HTTP请求处理器流程的实现原创 2010-09-29 00:37:00 · 4317 阅读 · 0 评论 -
深入剖析Spring Web源码(一) - 前言
1 前言Spring是一个优秀的轻量级企业应用开发框架,是Java开发中最流行的工具之一,Spring在Java企业开发中具有举足轻重的作用。Spring是基于 JavaBeans的控制翻转(Inversion of Control,IoC)原则进行配置管理,使得应用程序的组建更加快捷简易。并且对AOP程序设计有较好的支持,使程序接口清晰易读,并且通过AOP实现了声明式的安全和事物。Spring的抽象的数据存取层次支持多种ORM框架。并且对J2E原创 2010-09-17 09:50:00 · 6798 阅读 · 4 评论 -
深入剖析Spring Web源码(四) - DispatcherServlet的实现
1 Spring Web MVC的架构实现Spring是一个轻量级J2EE框架。它可以运行在任何一个Web容器上。事实上,Spring的入口点就是实现或者继承了Web容器规范中的Servlet,监听器(Listener)和过滤器(Filter)。这一章我们将详细讨论SpringWeb MVC架构的具体实现。 1.1 DispatcherServlet的实现DispatcherServlet是一个经过多个层次最终继承自Servlet规范中的HttpS原创 2010-09-17 17:35:00 · 5902 阅读 · 1 评论 -
深入剖析Spring Web源码(五) - DispatcherServlet的实现 - 通用Servlet和HTTP Servlet
1.1.1 通用Servlet和HTTP ServletHTTP(Hyper Text TransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加原创 2010-09-17 17:46:00 · 5397 阅读 · 0 评论 -
深入剖析Spring Web源码(六) - DispatcherServlet的实现 - 派遣器Servlet及其父类
1.1.1 派遣器Servlet及其父类上节我们介绍了Servlet容易规范中的HTTP Servlet的实现,它对于各种HTTP方法使用了占位符的实现,这些占位符方法需要子类进一步重写,这一小节中我们将讨论,派遣器Servet是如何实现这些占位符方法来完成Spring Web MVC的工作流的。下图是派遣器Servlet完整的实现体系,图表4‑4从上面实现类图可以看到,继承自HTTP Servlet的直接子类就是Http Servlet Bean。这个类的唯一功能就是把Servlet配置的参数作为一个原创 2010-09-17 19:39:00 · 7462 阅读 · 4 评论 -
深入剖析Spring Web源码(二) - Web MVC介绍
1 Web MVC 介绍这一章,我们将首先介绍经典的 MVC体系结构,通过对比 MVC和 Web MVC的区别,来深入理解 Web MVC的由来和特点。1.1 MVC 体系结构 首先,我们介绍一下 MVC的体系结构。 MVC是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型,视图和控制器。如图表 2 ‑1 。图表 2 ‑2MVC体系结构实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能原创 2010-09-17 10:00:00 · 6143 阅读 · 1 评论 -
深入剖析Spring Web源码(七) - DispatcherServlet的实现 - 根共享环境的加载/其他Servlet
1.1.3 根共享环境的加载 上一节中我们在分析框架Sevlet是如何初始化Web应用程序环境的时候得知,一个Servlet拥有一个专用的子环境,但是这个子环境可以而且通常引用一个根共享环境,这个根共享环境是通过Servlet环境监听器加载的。也就是说,当一个Servlet环境,也就是一个应用程序被容器加载时,监听器通过监听这个初始化事件初始化根共享Web应用程序,而当一个Servlet环境析构时,监听器功过监听这个析构时间析构共享的Web应用程序环境。下面是整个根共享环境加载的类图,图表4‑9我们可原创 2010-09-17 20:30:00 · 5568 阅读 · 0 评论 -
深入剖析Spring Web源码(八) - 处理器映射,处理器适配器以及处理器的实现 - 基于简单控制器流程的实现
1.1.1.1 基于简单控制器流程的实现简单控制器的流程定义了简单的控制器接口(Controller),在流程的开始,它通常通过Bean名字URL处理器映射(BeanNameUrlHandlerMapping)来获得支持此HTTP请求的一个控制器实例和支持这个控制器的处理器拦截器(HandlerInterceptor)。通过简单控制处理适配器(SimpleControllerHandlerAdapter)传递HTTP请求到简单的控制器(原创 2010-09-20 13:45:00 · 6009 阅读 · 0 评论 -
深入剖析Spring Web源码(九) - 处理器映射,处理器适配器以及处理器的实现 - 基于注解控制器流程的实现
1.1.1.1 基于注解控制器流程的实现上一节,我们详细的分析了基于简单控制器流程的实现,事实上,许多的简单控制器的实现已经不被推荐使用。自从2.5发布以后,Spring开始鼓励使用基于注解控制器的流程。基于注解的控制器流程具有实现方法简单,程序代码清晰易读等特点。基于注解控制器的流程和基于简单控制器的流程的实现非常相似,派遣器Servlet在处理一个HTTP请求的时候,它通过缺省注解处理器映射(DefaultAnnotationHandlerMap原创 2010-09-28 17:37:00 · 8512 阅读 · 3 评论 -
深入剖析Spring Web源码(二十一) - 征求建议
首先,感谢CSDN提供了优秀的博客和论坛平台帮助IT人员互相交流和学习,CSDN作为国内最大的IT类交流网络为国内的IT事业做出了巨大贡献,在这里向全体CSDN工作人员表示致敬。本人从事J2EE开发已经将近6个年头,熟练使用J2SE平台提供的各种技术,了解和掌握J2EE平台提供的各种服务,并且对J2EE的开源项目和框架有所研究。几个月前,我开始读Spring源代码,一边读代码,一边写总结,把总结发到了CSDN博客,大家可以参考我的博客文章http://blog.csdn.net/robertleepeak/原创 2011-02-17 10:34:00 · 6823 阅读 · 18 评论