配置web.xml
设置DBRuleServerServlet的参数xmltype的值为json,如下:
<servlet>
<servlet-name>DBRuleServerServlet</servlet-name>
<servlet-class>com.flagleader.webserver.DBRuleServerServlet</servlet-class>
<init-param>
<param-name>xmltype</param-name>
<param-value>json</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DBRuleServerServlet</servlet-name>
<url-pattern>/servlet/dbruleservices.servlet</url-pattern>
</servlet-mapping>
设置好上述才能调用:
http://localhost:8880/webrule/servlet/dbruleservlet.servlet
查看 Java类通过Servlet调用-xml格式 的2到7小点操作,即(2、配置说明 3、解析web.xml 4、编译文件存放目录 5、登录webrule管理平台 6、webrule管理平台 添加任务和添加服务 7、查看任务和服务)
传输数据格式类型
参数streamtype默认为1,可以不进行配置,可以根据需求配置传输数据格式类型,0表示原始字符串格式。1表示加密压缩字符串。2表示压缩字符串。3表示压缩字节。4表示GZIP压缩流。客户端传输时通过Property.getInstance().setServerSendtype(...)设置传输数据格式类型,默认为1,即Property.getInstance().setServerSendtype(Property.ENCRYZIPSTRINGSEND),其中Property.RAWSEND的值为0,Property.ZIPSTRINGSEND的值为2, Property.ZIPBYTESEND的值为3,Property.GZIPSEND的值为4,其中客户端传输数据格式类型为1时,参数streamtype的参数值可以是0或1,在没有设置参数streamtype的情况下,内部约定为1,如下:
<servlet>
<servlet-name>DbServletServlet</servlet-name>
<init-param>
<param-name>streamtype</param-name>
<param-value>1</param-value>
</init-param> <servlet-class>com.flagleader.webserver.DbServletServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DbServletServlet</servlet-name>
<url-pattern>/servlet/dbruleservlet.servlet</url-pattern>
</servlet-mapping>
新建版本库
访问webrule下的servser的index.jsp,即
http://localhost:8880/webrule/server点击选项卡“规则执行版本”,右键点击左边窗体“规则库版本”,选择“新建版本库”,如下图:
弹出窗体“工程信息”,工程名称文本框中输入1.1,如下图:
查看新建的1.1版本库,如下图:
复制E:\rscfile\1.1目录下的student文件夹到
D:\VisualRules\Tomcat\webapps\webrule\WEB-INF\rsc\1.1目录下,如下图:
添加java测试类
在java工程中添加一个java类,名为Tes7.java,其内容编辑如下:
package com.flagleader;
import java.util.List;
import com.flagleader.engine.Property;
import com.flagleader.engine.RuleService;
import com.flagleader.json.JsonServerServletFactory;
public class Test7 {
public static void main(String[] args) {
try {
//设置加密方式 默认等于 Property.ENCRYZIPSTRINGSEND
Property.getInstance().setServerSendtype(Property.ENCRYZIPSTRINGSEND);
// 工厂模式,该接口可以用在本地调用,以及服务调用
RuleService engine = new JsonServerServletFactory("http://localhost:8880/webrule/servlet/dbruleservlet.servlet").getRuleService();
//执行哪个版本下的编译文件
engine.setLibraryName("1.1");
// 以dto形式为规则传参
Student student = new Student(1, "李丽", 12, '男', "六年级", "无");
// 执行规则,其中"student.add"为规则全名,student为传入参数
engine.executeBeans("student.add", student);
// 判断engine.get("studentList")是不是集合类型
if (engine.get("studentList").getClass().isAssignableFrom(
java.util.ArrayList.class)) {
// 执行完规则后,获取数据,"studentList"必须和规则中取内存表数据的变量名一致
List list = (List) engine.get("studentList");
// 由于规则中采用的是list<list>类型,需要做两次转换
List list1 = (List) list.get(0);
// 循环次数为对象中字段个数
for (int i = 0; i < 6; i++) {
System.out.print(list1.get(i) + "\t");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行java测试类
点击执行后,可以看到如下结果:
说明已经调用了student.add规则包,并且根据传入的参数,返回处理结果以list<list>形式展示。
同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。
- 大小: 135.2 KB
- 大小: 107.4 KB
- 大小: 96 KB
- 大小: 113.6 KB
- 大小: 159.7 KB
分享到:
相关推荐
VisualBasic6.0编写的DLL<br><br>封装函数过程一览表----按照分类及字母顺序<br>◆封装的10个过程,没有返回值◆<br>01、AboutAndHelp-----显示帮助信息<br>02、ExitOs-----------注销、重启和关机<br>03、Kill...
<br>UltraEdit 7.2<br>WebGain Studio 4 with VisualCafe<br>Forte for Java开发指南<br>Dreamweaver UltraDev<br>IBM NetObjects ScriptBuilder3.0<br>使用HomeSite加速JSP的开发<br>Java2的安全新特性下的Applet...
Java版精华区 <br>含java jsp及js等精华帖子合集<br>适合收藏 查询<br><br>序号 精华区主题 <br>--------------------------------<br> 1. [目录]Java教程 <br> 1. [目录]Java语言教程 <br> 2. [目录]来自java的传说...
splash.zip<br>通过自己的线程在Splash对话框中显示文字(136KB)<END><br>6,res_dlg.zip<br>大小可调的对话框(21KB)<END><br>7,splitter.zip<br>可变的分割视图(58KB)<END><br>8,anicon1.zip<br>在窗口的标题条上显示...
8<br><br>0018 有效利用Visual Studio 2005附带程序 8<br><br>0019 有效使用MSDN帮助 9<br><br>0020 如何设置MSDN帮助 9<br><br>1.4 其他 10<br><br>0021 如何添加项目引用 10<br><br>0022 如何添加Web...
DriverStudio 3.2 升级补丁<br><br>将DriverStudio 3.2升级至DriverStudio 3.2.1<br><br>原说明如下:<br><br>Compuware DriverStudio – DriverSuite<br>Version 3.2 ONLY<br><br>Version 3.2 patch.<br>The ...
在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...
Graphics.zip<br>VC图形编程的一个简单工程<1450kb><END><br>25,DIBShow.zip<br>设备无关位图的一个里例子<1830kb><END><br>26,Clock.zip<br>一个数字时钟的图形的工程<1450kb><END><br>27,PAINTOBJ.zip<br>一个类似...
flat_but.zip<br>浮动按纽上可放置文字和ICON图标(48KB)<END><br>75,mow_sour.zip<br>弹出PopMenu,但是是按纽选择(17KB)<END><br>76,Xbutton.zip<br>不规则形状的按纽(8KB)<END><br>77,roubut.zip<br>圆形的按纽(26...
<br> <br> 下载包括<br> <br> Oracle Developer Tools for Visual Studio .NET 2003 10.2.0.2.20 <br><br> Oracle Developer Tools for Visual Studio 2005 10.2.0.2.20 <br><br> Oracle Data Provider for .NET 1....
G/C++: sourceanalyzer -b <buildid> <compiler> <compiler opts> <files> NET: sourceanalyzer -b <buildin> <exe file> scan〓 sourceanalyzer -b <buildid> -scan -f results. fpr Output opt ions -format <fmt>...
- JSON编辑器:如Visual Studio Code的JSON插件,帮助编写和格式化JSON结构。 - JSON库对比:了解不同库的优缺点,根据项目需求选择最适合的,如Gson更适合简单场景,而Jackson提供更高级的功能。 总结,将结果集...
<br><br>Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。 <br><br>Visual Assist...
- 这些回调函数将在JNI层实现,然后在Java中通过接口调用。 4. **创建和管理浏览器实例**: - 通过CEF API在Java中创建浏览器实例,指定初始URL和窗口属性。 - 监听并处理浏览器的各种事件,如加载状态改变、...
使用JSON作为数据交换格式可以提高效率,同时,通过设置正确的服务行为和终结点,可以实现异步的、跨域的Web服务调用。在实际应用中,还需要考虑错误处理、安全性以及性能优化等方面的问题。通过这个Demo,你可以...
本教程将详细探讨如何使用C++通过JNI(Java Native Interface)来调用Java接口。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。下面,我们将深入讲解这个过程,并结合实际例子“CInvokJava...
标题中的“JNA.jar-JNative.jar-dll创建-JAVA调用-VC调用”涉及到的是Java平台下通过JNI(Java Native Interface)的两种实现方式,JNA(Java Native Access)和JNative,来与C/C++编写的动态链接库(DLL)进行交互...
标题 "C++调用java jar包测试代码" 描述了一个跨语言交互的场景,其中C++程序通过调用Java编译后的jar包来执行特定功能。这个过程涉及到多个技术点,包括Java的编译和打包,C++的编程以及两者之间的接口调用。 1. *...
<br>B.VBAPI函数参考手册.chm<br>C.VB经典编程集合.exe<br><br>D.Vb与Windows API讲座<br>E.VB 程序大揭秘.pdf<br>.................<br><br>文件为一个独立压缩包,解开后即可使用里面的文件。<br> 需要声明的是,...
<br>源文件的运行环境<br>操作系统:Windows 2000及其以上版本<br>开发环境:Microsoft Visual Studio 2005及其以上版本<br>数据库:SQL Server 2005及其以上版本<br>Web服务器:IIS 5.1及以上版本<br>来源...