Cocoon 的整个系统由四部分组成:
Core-Cocoon(Cocoon核心)、
Cocoon-Components(Cocoon组件)、
Build-in logicsheets(Cocoon内建逻辑单)、
Site specific configuration, components, logicsheets and content。
Core-Cocoon
Core-Cocoon 包括:
Avalon 框架(logging, configuration, threading, context 等)
缓存机制
管道处理
程序的生成、编译、装载、执行
组件用的基类
...
Avalon 是面向组件(Component Oriented Programming)的
Java服务器通用框架。做为一个基于组件的系统,Cocoon便
是在 Avalon 的基础上开发和设计的。
如果您想深入了解 Avalon 框架,
可以访问这里:http://jakarta.apache.org/avalon/ 。
Cocoon-Components
Cocoon提供了许多有用的组件,包括:
生成器 (generators)
转换器 (transformers)
匹配器 (matchers)
序列化器 (serializers)
...
Build-in logicsheets
Cocoon 中的逻辑单(logicsheets)是一种类似于 JSP标记库
(Tag Library) 的技术。
逻辑单的一个重要优点是因为已除去了代码,所以原始文档相
当清晰,而且逻辑单可以很方便的重用,这样避免了在多处复
制代码的需要。
Cocoon 提供了一些常用的逻辑单,如:
sitemap.xsl
xsp.xsl
esql.xsl
request.xsl
response.xsl
...
Site specific configuration, components, logicsheets
and content
...
管道
管道是 Cocoon 2 体系结构的关键。
管道由一些输入数据以及随后对它进行的一些处理步骤构成。
每个处理步骤接受前一步的输出作为输入,一直到达管道的
末端并产生最终输出。
管道中的每个处理步骤都有明确定义的行为,这些行为与固
定的输入和输出相结合,使创建常规的可重用管道组件成为
可能。这种重用允许用很少的编程开销来构建应用程序。管
道由输入、某些处理以及输出构成。
Cocoon 2 使用 SAX 事件作为每个处理步骤之间的连接。
Cocoon 的处理过程
响应用户请求(request)
↓
确定正确的管道
↓
指示管道执行处理
↓
生成给用户的响应(response)