快速业务通道

报表应用系列——图表JFreeChart: 第4章 折线图 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

整合Java6脚本、Groovy实现动态MVC模式

时间:2010-12-25

一个有弹性的和动态的开发环境正在受到前所未有的关注,甚至连脚本语言也显现出这方面的特性,这也正是我们所需要的,也就是说,我们永远需要建立易维护,并且可满足我们需求的应用程序。如果我们要想使用脚本语言参与进来,我们应该考虑一下Java SE 6所提供的一个新的脚本API:一个与语言无关的允许开发人员在Java代码中使用脚本语言的框架。使用这套新API,我们不仅可以利用脚本语言的特性,而且还能使用很多和Java相关器工具。

在本文中,我们提供了一个实例,这个实例将尽可能体现这套API的特性。并且使用这套API实现一个基于Model View Controller(MVC)模式的Web应用程序,这个程序同时还使用了Groovy框架(一个基于Java平台的动态脚本语言,Groovy负责实现商业逻辑,也就是MVC中的M层)。并且使用了不同的技术来实现MVC中的View层。对于控制层(Controller)层来说,我们使用WebLEAF,这是一个用于开发基于MVC模式的Web程序的开源框架。为了使这个例子更容易部署和运行,我们使用了一个基于Java的数据库:HSQLDB,这个数据库允许的们只通过两个文本文件来创建一个简单的数据库。为了实现可以产生HTML用户接口的view层,在本文中我们采用了XSLT技术,这是一种可以将XML文档转换成另外一种形式的语言,同时还使用了FreeMarker,这是一个流行的处理XML的模板引擎,如它可以使XML作为输入数据变得很容易。

在本文的例子中我们将首先开发一个web页,它将显示数据库的不同项,并允许我们选择一个,以便我们可以查看某项的详细信息。虽然这个程序很简单,但它足以清楚地表述本文要讲的内容了。

一、进行准备工作

第一步是建立健全个基本的标准Web应用程序结构,并且将最新的WebLEAF 3.x库加进来,这个版本可以非常好地支持新的Java脚本API,我们可按如下的五步进行:

1. 首先建立一个叫Test的目录。

2. 然后在Test目录中建立一个WEB-INF目录。

3. 在WEB-INF目录中建立两个目录:lib和classes。

4. 将开载的WebLEAF3.jar文件放到Test\WEB-INF\lib中。

5. 然后在Test\WEB-INF中建立一个标准化sevlet描述文件web.xml,它的内容如下:

<?xml version="1.0"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <!--   WebLEAF controller servlet configuration --> <servlet>   <servlet-name>WebLEAFController</servlet-name>   <servlet-class>org.leaf.LEAFManager</servlet-class>   <load-on-startup>2</load-on-startup> </servlet> <!-- End controller servlet --> </web-app>

这个配置文件告诉Servlet容器实例化一个WebLEAF控制Servlet,并当Context开始时启动它。在这里我们要注意一个的值是2,一会我们要解释一下这个值为什么不是1,而是2。

最后,我们需要在WEB-INF中建立一个WebLEAF配置文件test.leaf.conf,内容如下:

<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE WADSET SYSTEM "http://www.uib.es/leaf/LEAFwad.dtd"> <WADSET>   <WAD    NAME="Test"    INIT_MODE="INITS_ON_START_UP"    XML_ALLOW_SHOW="TRUE"    XSLT_NO_CACHE="TRUE"    >   </WAD> </WADSET>

虽然上面的配置文件只是最小化配置,但它对于本文的例子已经足够了。

整合Java6脚本、Groovy实现动态MVC模式(

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号