<b>整合Java6脚本、Groovy实现动态MVC情势</b>[Java编程]
本文“<b>整合Java6脚本、Groovy实现动态MVC情势</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一个有弹性的和动态的开辟环境正在遭到前所未有的关注,乃至连脚本语言也显现出这方面的特点,这也恰是我们所需求的,也就是说,我们永久需求成立易保护,并且可满意我们需求的利用程序.假如我们要想利用脚本语言参与进来,我们应当考虑一下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页,它将显示数据库的差别项,并答应我们挑选一个,以便我们可以查看某项的具体信息.固然这个程序很简单,但它足以清楚地表述本文要讲的内容了.
1、举行预备工作
第一步是成立健全个基本的尺度Web利用程序构造,并且将最新的WebLEAF 3.x库加进来,这个版本可以非常好地支持新的Java脚本API,我们可按以下的五步举行:
1. 首先成立一个叫Test的目录.
2. 然后在Test目录中成立一个WEB-INF目录.
3. 在WEB-INF目录中成立两个目录:lib和classes.
4. 将开载的WebLEAF3.jar文件放到TestWEB-INFlib中.
5. 然后在TestWEB-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>
固然上面的配置文件只是最小化配置,但它关于本文的例子已经充足了.
以上是“<b>整合Java6脚本、Groovy实现动态MVC情势</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |