请输入您要查询的百科知识:

 

词条 Turbine
释义

Turbine是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是有一些主要区别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。

相关站点/下载地址:http://jakarta.apache.org/turbine/

1. 缘起

Jetspeed是Apache Jakarta小组的开放源码门户系统。它使得最终用户可以通过WAP手机、浏览器、PDA等各种设备来使用各种各样的asp.cn/class=wordstyle>网络资源(比如应用程序、数据以及这之外的任何asp.cn/class=wordstyle>网络资源)。在这里,Jetspeed扮演了一个处于信息和用户间的hub的角色。

1999年左右,Jetspeed立项并开始运作。很快,Jetspeed的发展就超越了最初立项时的目标,以任何人都难以想象的速度发展。用Jakarta小组自己的话说,就是:“The only problem is that this was beyond the scope of this project.”。

现在,Jetspeed逐渐演变成了一个基于Turbine(也是Jakarta小组的杰作)这个asp.cn/ class=wordstyle>网络应用框架(Frameworks)的Web应用引擎。

1.1 Jetspeed

简单的看,Jetspeed就是添加了门户组件的Turbine。它本身既是Portlet容器,又包含了大量的实用Portlet。在Jetspeed中,Portlet的管理主要由以下两种文件完成:

l     .xreg注册文件

l     .psml配置文件

.xreg文件一般放置在webapp-name/WEB-INF/conf目录下,文件名不限。一个Portlet必须通过.xreg文件注册才能在Jetspeed中使用。每一个Portlet组件都是能够被系统实例化,用于输出特定Web文档的java类。

.psml文件一般放置在webapp-name/WEB-INF/psml目录下,文件名不限。.psml设定了页面内容的显示模式,比如:一个页面如何布局,分为多少列、每列能有多少个窗格、各个窗格的内容是由哪个Portlet输出的等等内容。

2. 概述

Turbine是一个基于Servlet的Web Application Frameworks,使得java开发者可以快速、安全的构建自己的asp.cn/ class=wordstyle>网络应用。

Turbine是一个完全的MVC应用框架,主要由以下几个部分组成:

l     表述层:Velocity(又是Jakarta小组的杰作,一个基于Java的模版引

擎)或JSP

l     数据层:Torque和Peers

l     控制层:Turbine

l     HTML Form Validation:Intake

l     日志:Log4j和Turbine2中的Logging Service

l     Service Frameworks:Turbine (在Turbine3中,此部分被称为Fulcrum)

本文主要介绍Turbine中的控制层,其余部分请参考各自的文档或参考资料中提到的站点。

3. 基石

Turbine主要由五部分组成,如下图所示:

aspectratio="t" v:ext="edit">

我们先对这五个部分进行单独介绍,再介绍Turbine的详细流程。

3.1 Action

Action是一个执行特定事务的模块,Turbine中的SessionValidator就是一个典型的Action。

在用户提交一个HTML表单的时候,其中有一个隐含的字段就包含了将要被执行的Action的信息。Action机制使得java开发者更容易的处理用户提交的数据。例如,对于“Logout”这个事务,在系统的多个地方都可能被调用;因此,将Logout的事务处理流程写成一个可重用的模块,使得这个事务可以被更方便的调用。这个可重用的模块就是一个Action。通过系统中多种多样的Action,每个Action处理用户数据中不同的信息,这样,整个系统就显得更加简单明快,更易编写、扩充与维护。

并且,Turbine通过Action机制中,还可以使程序流程更加灵活多变。例如,在Page的处理过程中,可以通过执行特定的Action,帮助判断其后将要显示哪个Screen。这时,Action的执行结果就可以作为以后程序的判断依据。

Action是系统中可重用的事务处理组件,Action机制使得Turbine拥有灵活、清晰的事务处理流程。

3.2 Page

Page模块是在页面生成过程中最先被执行的一个模块,它可以被认为是Action、Layout、Screen、Navigation之间的协调者和组织者。

一般情况下,Page先执行用户请求中的指定的Action(如果有的话);然后,根据其后要装载的Screen来选择并执行相应Layout。请注意,在这个时候,究竟是执行哪一个Screen,可能会因为Action执行结果的不同而改变。并且,Screen的Layout也可能因为TurbineResources.properties配置文件中对DefaultLayout的设置不同而改变。

3.3 Screen

Screen模块从根本上说,是网页的“躯干”。这也是生成网页中的HTML代码的地方。Screen是整个Turbine中最主要的表述(View)部分。

Screen是由Layout调用的。

请注意:此时,你完全可以调用各种外部模块,比如EJB,来获得数据以构建你的HTML页面。也可以通过JSP,甚至是使用Blog来构建页面内容^_^。

3.4 Navigation

一般情况下,网站都有自己的Top & Bottom Navigation;

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/9/21 22:41:12