Turbine实战(上)

1 综述

Turbine的简介和控制流程请参见Turbine简述》,本文主要描述Turbine2.2应用的开发步骤。

数据挖掘交友

根据我们不同的需要,可以有三种方式来使用Turbine。我们可以任选其一或三者皆取,这取决于我们自己:

数据挖掘实验室

l        当成一个Servlet FrameworksTurbine作为其中的Controller 数据挖掘论坛

l        当成一个Framework Code Library 数据挖掘交友

l        当成一个Object-Relational Tool

不论你想如何使用Turbine,都只需要简单的使用turbine.jar文件就行了。换句话说,比如你想使用Turbine的连接池,只需要把turbine.jar添加到你的ClassPath里,然后在你的应用里用适当的代码告诉Turbine,配置文件可以在哪里获取,就可以了。

Turbine现在已经发展成了一个庞大的、容易使人畏缩的代码库(Codebase)。虽然如此,但是Turbine拥有清晰的组织形式,使人们能轻松的辨认出各部分的代码的功用。

数据挖掘实验室

1.1 Code Organization

Turbine的代码分为以下几个部分: 数据挖掘研究院

l        org.apache.turbine.modules - 这就是Turbine中的Module system。有关各个Module的详细介绍请参见Turbine简述》 数据挖掘交友

l        org.apache.turbine.om - OM的意思是Object Model。这部分代码就是表现TurbineObject Model是如何构筑的地方,这里到处充斥着TurbineRDBMS的处理J

l        org.apache.turbine.services - 这部分就是TurbineService FrameworkService FrameworkTurbine中是一个非常重要的方面。这些Service处理着各种各样的事务,比如数据库连接池、比如日志服务等等。 数据挖掘研究院

l        org.apache.turbine.torque - 这就是Turbine的数据持久层。它能根据定义好的XML文件产生出针对特定数据库的.sql,这样的话,我们就很容易构建出一个Object Relational的系统。 数据挖掘工具

l        org.apache.turbine.util - 顾名思义,这就是Turbine的工具包。这里提供了许许多多的在Web Application里经常会用到的工具。 数据挖掘实验室

2 演练

2.1 TDK

为了更方便的做好的演练,我们需要使用到TDK

Turbine Development Kit (TDK) TurbineTomcat以及一大堆jar、文档的集合。通过它,我们能够更容易的学习和开发Turbine Application

2.1.1 TDK的安装

TDK详细的安装说明请参见参考资料3,本文不再赘述。不过该文的叙述中,仅给出了MySQL数据库的连接方法,鉴于Oracle的使用非常广泛,在此给出Oracle的连接方法:

# ------------------------------------------------------------------- 数据挖掘实验室

#

#  D A T A B A S E  S E T T I N G S

# 数据挖掘论坛

# -------------------------------------------------------------------

  数据挖掘论坛

database.name = newapp 数据挖掘交友

database = oracle

createDatabaseUrl = java:oracle:thin:@192.168.99.XXX:1521:SID 数据挖掘实验室

buildDatabaseUrl = java:oracle:thin:@192.168.99. XXX:1521:SID

databaseUrl = java:oracle:thin:@192.168.99. XXX:1521:SID 数据挖掘论坛

databaseDriver = oracle.jdbc.OracleDriver

databaseUser = system

数据挖掘实验室

databasePassword = manager

数据挖掘研究院

databaseHost = 192.168.99. XXX 数据挖掘工具

数据挖掘工具

Okay,大家都已经安装好TDKTurbine Data Manager示例了吧。那么,我们现在就开始了。

数据挖掘实验室

2.2 Turbine Data Manager

访问Turbine Data ManagerTDM)的首页,我们看到了什么: 数据挖掘实验室

数据挖掘研究院

数据挖掘实验室

查看webapp-name/templates/app/layouts下的Login.vm文件,其内容如下: 数据挖掘研究院

<table width="100%">

数据挖掘实验室

  <tr> 数据挖掘工具

    <td colspan="2"> 数据挖掘实验室

      $navigation.setTemplate("/DefaultTop.vm")

数据挖掘论坛

    </td> 数据挖掘研究院

  </tr>

数据挖掘工具

  <tr> 数据挖掘工具

    <td align="left"> 数据挖掘交友

      $screen_placeholder

    </td> 数据挖掘实验室

  </tr>

  <tr>

    <td colspan="2"> 数据挖掘工具

      $navigation.setTemplate("/DefaultBottom.vm") 数据挖掘交友

    </td> 数据挖掘实验室

  </tr> 数据挖掘工具

</table>

数据挖掘研究院

数据挖掘交友

试着在其最前面加上一行:“Welcome Turbine Data Manager!”,再次刷新Turbine Data Manager的首页,我们发现,它的首页变为了:

数据挖掘实验室

数据挖掘交友

在它的最上方,多了我们刚才加入的一行文本。这究竟是怎么一回事呢?

数据挖掘研究院

请注意在《Turbine简述》中所提到的,Turbine使用Velocity来作为其表述层,而.vmVelociMacroHTML格式的文本文件)正是Velocity用来控制页面显示使用的配置文件。VelocityService的形式加入了Turbine之中,也就是Turbine Service Framework中的Velocity ServiceVelocity + Turbine即构成了Template Service

Login.vm正是用来控制TDM Login页面显示的VelociMacro 数据挖掘论坛

再看Login.vm中的如下几行:

数据挖掘论坛

    <td colspan="2"> 数据挖掘交友

      $navigation.setTemplate("/DefaultTop.vm")

</td>

数据挖掘论坛

数据挖掘论坛

它定义了Login Layout中需要调用DefaultTop Navigation,并且,这个Navigation应该放置在一个表格之中。而DefaultTop.vm中定义了需要显示一个图片,这个图片就是“Turbine Data Manager”。 数据挖掘交友

类似LayoutNavigation的控制方式,Turbine中的ScreenUI也是采取同样的方法进行控制。除了使用.vm文件进行控制外,Turbine还可以通过java类来进行页面布局、内容显示等的控制。 数据挖掘论坛

那么,Turbine是如何知道要到这些地方去寻找这些文件的呢? 数据挖掘实验室

Turbine的配置文件查找方式为: 数据挖掘交友

1、web.xml中定义TurbineResources.properties文件的存放路径; 数据挖掘实验室

2、TurbineResources.properties文件中,定义Template File的存放路径[i]

数据挖掘工具

2.2.1 TDM中的Screen

现在,让我们来详细看一看TDM中的Screen吧: 数据挖掘研究院

请转移到“webapps/APPNAME/templates/app/screens”目录下。大家可能还记得Login.vm文件中有一个“$screen_placeholder”变量,其实,各个Layout中的这个变量就是用现在这个目录下的文件来进行替换的[ii]

数据挖掘研究院

打开“Index.vm”文件,其中有一个名叫“$headings”的变量,这个变量保存了在Index页面中的HEAD信息;另外的一个叫“$entries”的变量则保存所有在Index页面中需要动态显示的内容。这些变量的取值来自与之相关的java类。并且,在Index.vm中还有一些以“#”打头的函数,例如“#entryCell(...)”,这些函数在运行时被替换为各种各样的HTML代码[iii][iv]

再到“webapps/APPNAME/WEB-INF/src/java/PACKAGE/modules/screens”目录中来看一下,TDM中每个页面里的动态内容都是与这里的java文件紧密相关的。打开“Index.java

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:JDO:查询你的数据
下一篇:Turbine简述
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 尚学堂J2EE和MLDN的J2EE视频教程哦
  • 有谁知道ERROR:JDWP Unable to get
  • com.microsoft.sqlserver.jdbc.SQLServerEx
  • 急~Eclipse3.3语言包,VEP插件
  • 毕业5年了,大家一个月全部收入能拿多少(税
  • org.hibernate.exception.ConstraintViolat
  • hibernate抛出could not fetch initial val
  • hibernate left outer join 出错 Path expe
  • myeclipse5.1.0和myeclipse6.0有什么区别。
  • spring如何动态获取bean,如何动态调用getB
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 不安装jre能运行JAVA程序吗?
  • Java的模板引擎Velocity用户手册
  • 成为java高手的八大条件
  • 简化Java代码的技巧
  • JAVA的网络功能与编程
  • 用java读取各种计算机文件系统的文件列表
  • 怎样拿下SUN公司的SCJP认证?
  • Borland以全额现金交易收购VMGEAR
  • 用JNI技术提高Java的性能
  • 用Java编写HTML文件分析程序
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静