一、什么是DirectJNgine
DirectJNgine是Java版Ext Direct API的实现,它允许应用程序使用ExtJS调用Java方法,从而使JavaScript调用Java方法变得透明,摆脱过去繁琐费时的调用方法。
二、下载DirectJNgine
DirectJNgine下载地址:http://code.google.com/p/directjngine/,目前最新版本为1.3,下载后解压即可,里面包含有DirectJNgine类库(lib)、帮助文档(doc)、实例(demo)等。要使用DirectJNgine当然少不了Extjs类库支持,Ext类库在http://www.sencha.com很容易找到,不再啰嗦。下载完毕将ExtJS类文件拷贝至项目的WebContent目录下。
三、项目中使用DirectJNgine依赖文件
项目中使用DirectJNgine需要将以下jar文件添加至web应用程序的WEB-INF/lib目录下:
(1)DirectJNgine.jar:位于deliverables/directingine.xxx.jar;
(2)DirectJNgine使用第三方类库:①位于lib/*.jar下的所用文件,子目录除外;②位于lib/runtimeonly/*.jar
如果需要启用客户端参数调试模式,需要在web app项目中加入下面两个Js文件:
(3)djn-remote-call-support.js:位于deliverables/ djn-remote-call-support.js;
(4)ejn-assert.js:位于deliverables/ejn-assert.js。
四、DirectJNing实例
在Extjs/examples/direct目录下可以查看到ExtJS提供的一些使用DirectAPI的例子,这些例子都采用PHP作为服务器端处理。当然在服务器端采用JAVA也很容易,不用担心,下面就来看以实际例子看DirectJNgine如何运作。
4、1实例说明
本例按照DirectJNing官方提供文档实例进行演示,项目目录结构图一:
图一
说明:
(1) Java Resources:src目录存放服务器端Java文件,其中log4j.properties可以参考DirectJNgine下载目录中提供的配置信息根据自己项目情况做配置即可;
(2) WebContent/djn和WebContent/ejn存放djn-remote-call-support.js、deliverables/ejn-assert.js,这步不是必须的;
(3) Ext-3.3.3:存放ExtJs类库文件;
(4) test:存放实例源码,本例静态代码文件为testAction.html,下面会用到。
其他文件内容就不详述。
4、2 在web.xml中配置DirectJNgineServlet
在web.xml文件中添加如下配置:
<servlet>
<servlet-name>DjnServlet</s