您的位置:建站学院首页 >> 文章 >> 服务器 >> Apache
使用Java技术在Cocoon中实现商业逻辑
如果你对Apache Cocoon有了解或者以涉足,你可能对在Cocoon中如何使用Java更好
的实现特定的逻辑有所疑惑。这篇文章将给您介绍如何使用XSP(Extensible Server Page)
和Action。同时还有示例和设计原则。[/i]

你可能听到了一些来自Apache的关于Cocoon的声音。现在,在经历了三年的发展后,
Cocoon已经逐渐的从一个简单的实现XSL (Extensible Stylesheet Language) 转换
的servlet成长为一个饱满的Web应用框架。

Cocoon是用Java开发的,一般做为servlet运行在象Tomcat这样的servlet容器中。


在这篇文章里,我们将介绍到两种办法来在基于Cocoon的应用中使用Java实现商业逻辑。

首先,让我们来总的了解一下Cocoon。

Cocoon正式的定义是一个XML发布引擎,我们可以理解Cocoon为一个用来产生、转换、处理
和输出数据的框架。也可以理解Cocoon是一个从多种数据源接收数据再应用不同的处理,最
后将数据以想要的格式输出的机器。

我们也可以定义Cocoon是一个数据流机器。也就是说,当你使用Cocoon时,你定义数据的路
径或者流程来产生Web应用的页面。


下面是Cocoon主要的一些基本的原理:

1、Cocoon把所有的数据做为SAX (Simple API for XML) 事件来处理,任何非XML的数据都要
转变成XML描述。

2、生成器(能生成SAX事件)的组件负责处理输入数据

3、序列化器负责处理输出数据,将数据输出到客户端(浏览器、文件等)。

4、开发人员组合生成器、序列化器和其它组件构成管道。所有的管道都在一个叫做站点地图的
文件中定义。

5、通过URI (Uniform Resource Identifier)来匹配管道,但URI是与物理资源脱离的。


第5点需要说明一下:

对于传统的Web server,URI一般映射到物理资源。
例如,这个URI http://localhost/index.html 在Apache server将映射到一个叫index.html的
HTML文件。

在Cocoon中,URIs 和 物理资源可以是没有任何绝对的相互关系的。你可以自由的设计URI来帮
助用户更好的浏览你的站点。最后,你可以更好的组织你的文件让其容易管理和维护。

为了更好的了解Cocoon的处理模型,可以看一个简单的管道。

下面这个例子定义了一个叫index.html的页面。这个管道位于叫sitemap.xmap站点地图中:

<map:match pattern="index.html">
<map:generate type="file" src="content/mainfile.xml"/>
<map:transform type="xslt" src="content/stylesheets/mainstyle.xsl"/>
<map:serialize type="html"/>
</map:match>


这个管道有三步:

首先是一个生成器组件FileGenerator从XML文件"content/mainfile.xml "读取数据。
(FileGenerator实际上已经提前在地图中定义,可以通过"type"属性来引用。Cocoon中所有的
管道组件都是通过它们的type属性来引用的。)

接着进行转换,转换器TraxTransformer将XSL stylesheet应用到引入的数据。

最后,序列化器HTMLSerializer将数据写到客户端的浏览器。


你可能疑惑,上面所说的和Java开发有什么联系呢?

我们把Cocoon的应用分成三个部分:

1、数据的收集层 Data Collection (Generation)

2、数据的处理和转换层 Data Processing&Transforming

3、数据的输出层 Data Output(Serialization)

那么,Java开发在Cocoon的处理转换层是非常重要的。Cocoon的转换和处理层是基于Cocoon的

本内容共9页  首 页  上一页  下一页  尾 页  当前在第1

Google
 
Web www.cqxw.net