`
Mr-zhang
  • 浏览: 17019 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

Visual Rules Solution Java集成接口<8>—Java类通过Servlet调用-json格式(调用指定版本)

阅读更多
配置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
分享到:
评论

相关推荐

    VB封装API的DLL

    VisualBasic6.0编写的DLL&lt;br&gt;&lt;br&gt;封装函数过程一览表----按照分类及字母顺序&lt;br&gt;◆封装的10个过程,没有返回值◆&lt;br&gt;01、AboutAndHelp-----显示帮助信息&lt;br&gt;02、ExitOs-----------注销、重启和关机&lt;br&gt;03、Kill...

    JSP訳文--工具--Java

    &lt;br&gt;UltraEdit 7.2&lt;br&gt;WebGain Studio 4 with VisualCafe&lt;br&gt;Forte for Java开发指南&lt;br&gt;Dreamweaver UltraDev&lt;br&gt;IBM NetObjects ScriptBuilder3.0&lt;br&gt;使用HomeSite加速JSP的开发&lt;br&gt;Java2的安全新特性下的Applet...

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    Java版精华区 &lt;br&gt;含java jsp及js等精华帖子合集&lt;br&gt;适合收藏 查询&lt;br&gt;&lt;br&gt;序号 精华区主题 &lt;br&gt;--------------------------------&lt;br&gt; 1. [目录]Java教程 &lt;br&gt; 1. [目录]Java语言教程 &lt;br&gt; 2. [目录]来自java的传说...

    Visual-MinGW

    * Home Page&lt;br&gt;* http://visual-mingw.sourceforge.net/&lt;br&gt;*&lt;br&gt;* Mailing list&lt;br&gt;* http://sourceforge.net/mail/?group_id=46778&lt;br&gt;* visual-mingw-general@lists.sourceforge.net&lt;br&gt;*&lt;br&gt;* License&lt;br&gt;* ...

    Visual.Assist.X10.0.1246.0

    Express Editions)&lt;br&gt;&lt;br&gt;Microsoft Visual Studio .NET 2003 &lt;br&gt;...Visual C++ 5.0&lt;br&gt;Microsoft Visual Studio 97&lt;br&gt;Microsoft eMbedded Visual Tools 4.0&lt;br&gt;Microsoft eMbedded Visual Tools 3.0&lt;br&gt;&lt;br&gt;

    Visual.Assist.X10.5.1727.0

    Express Editions)&lt;br&gt;&lt;br&gt;Microsoft Visual Studio .NET 2003 &lt;br&gt;...Visual C++ 5.0&lt;br&gt;Microsoft Visual Studio 97&lt;br&gt;Microsoft eMbedded Visual Tools 4.0&lt;br&gt;Microsoft eMbedded Visual Tools 3.0&lt;br&gt;&lt;br&gt;...

    Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise Architects (1)

    Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise Architects 第一部分&lt;br&gt;Table of Contents &lt;br&gt; Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise ...

    Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise Architects (2)

    Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise Architects 第二部分&lt;br&gt;Table of Contents &lt;br&gt; Professional UML with Visual Studio .NET—Unmasking Visio for Enterprise ...

    C#深入浅出全接触

    &lt;br&gt;二、Java与C#&lt;br&gt;三、C#的主要特征&lt;br&gt;四、安装运行环境&lt;br&gt;五、C#编辑器&lt;br&gt;六、C#的程序结构&lt;br&gt;七、C#和名称空间&lt;br&gt;八、C#中一个经典例程的编写与编译&lt;br&gt;九、C#编程实战演习ABC&lt;br&gt; 1、使用Visual Studio ...

    DriverStudio 3.2 For VisualStudio 2005 补丁

    &lt;br&gt;&lt;br&gt;原文件说明:&lt;br&gt;&lt;br&gt;Compuware DriverStudio – DriverSuite&lt;br&gt;Version 3.2&lt;br&gt;&lt;br&gt;Version 3.2 VisualStudio 2005 Integration fix.&lt;br&gt;The purpose of this update is to allow DriverStudio – ...

    《Visual.C#.编程精彩百例》配套光盘.part2

    ” &lt;br&gt;实例7 组件化“Welcome”程序 &lt;br&gt;实例8 网络上的“Hello World” &lt;br&gt;实例9 Ref、Out与Params描述符的应用 &lt;br&gt;实例10 C#自动内存管理的应用 &lt;br&gt;实例11 一个有趣栈类的实现 &lt;br&gt;实例12 垃圾收集器管理与...

    《Visual.C#.编程精彩百例》配套光盘part1

    ” &lt;br&gt;实例7 组件化“Welcome”程序 &lt;br&gt;实例8 网络上的“Hello World” &lt;br&gt;实例9 Ref、Out与Params描述符的应用 &lt;br&gt;实例10 C#自动内存管理的应用 &lt;br&gt;实例11 一个有趣栈类的实现 &lt;br&gt;实例12 垃圾收集器管理与...

    Visual C++ 编程资源大全(英文源码 其它)

    1,01.zip&lt;br&gt;Output&lt;br&gt;显示所有的调试信息(5KB)&lt;END&gt;&lt;br&gt;2,02.zip&lt;br&gt;Some general debugging tips&lt;br&gt;一般的调试技巧(11KB)&lt;END&gt;&lt;br&gt;3,03.zip&lt;br&gt;Debugging ISAPI extension&lt;br&gt;调试ISAPI扩展(4KB)&lt;END&gt;&lt;br&gt;4,04....

    JAVA编辑器

    本人不想使用庞大的Visual &lt;br&gt;Studio,但为了能编辑和使用&lt;br&gt;java,不得不开发了这一款小工具&lt;br&gt;,可以编译java程序,但是必须&lt;br&gt;安装好Java环境.&lt;br&gt;&lt;br&gt; 本编辑器有如下功能或者是&lt;br&gt;如下优点:&lt;br&gt; 1,关键字...

    Visual C++项目开发实例导航

    &lt;br&gt;Visual C++项目开发实例导航 &lt;br&gt;&lt;br&gt;【作 者】章五一 &lt;br&gt;【丛 书 名】 精品实例导航丛书 &lt;br&gt;&lt;br&gt;&lt;br&gt;【内容简介】&lt;br&gt;本书主要以七个典型项目工程的开发为例,探讨了Visual C++在各个领域中的实际应用,介绍...

    Visual C++ 编程资源大全(英文源码 网络)

    25.zip&lt;br&gt;SMTP MFC Classes&lt;br&gt;SMTP协议类(6KB)&lt;END&gt;&lt;br&gt;103,26.zip&lt;br&gt;Pre-emptive Multithreading Web Spider&lt;br&gt;多线程的网络蜘蛛(7KB)&lt;END&gt;&lt;br&gt;104,27.zip&lt;br&gt;Updated SMTP Class&lt;br&gt;更新的SMTP类(5KB)&lt;END&gt;&lt;br...

    Visual C++ 编程资源大全(源码 窗体)

    splash.zip&lt;br&gt;通过自己的线程在Splash对话框中显示文字(136KB)&lt;END&gt;&lt;br&gt;6,res_dlg.zip&lt;br&gt;大小可调的对话框(21KB)&lt;END&gt;&lt;br&gt;7,splitter.zip&lt;br&gt;可变的分割视图(58KB)&lt;END&gt;&lt;br&gt;8,anicon1.zip&lt;br&gt;在窗口的标题条上显示...

    QR Code二维码识读控件

    二次开发语言 Borland C++ Builder、Visual C++&lt;br&gt;控件形式 动态链接库(可按需要定制其他形式)&lt;br&gt;二维码种类 QR Code GB/T 1884-2000&lt;br&gt;二维码尺寸范围 21×21-41×41&lt;br&gt;编码数据格式 数字编码 数字0-9&lt;br&gt;...

    Visual C++ 编程资源大全(源码 文件)

    Exception.zip&lt;br&gt;文件异常处理的一个例子&lt;2030kb&gt;&lt;END&gt;&lt;br&gt;25,filefind.zip&lt;br&gt;在一个特定目录下查找文件的例子&lt;1850kb&gt;&lt;END&gt;&lt;br&gt;26,AddBook.zip&lt;br&gt;利用文件存盘的地址本管理小程序&lt;2040kb&gt;&lt;END&gt;&lt;br&gt;27,HexView....

    C#编程经验技巧宝典

    8&lt;br&gt;&lt;br&gt;0018 有效利用Visual Studio 2005附带程序 8&lt;br&gt;&lt;br&gt;0019 有效使用MSDN帮助 9&lt;br&gt;&lt;br&gt;0020 如何设置MSDN帮助 9&lt;br&gt;&lt;br&gt;1.4 其他 10&lt;br&gt;&lt;br&gt;0021 如何添加项目引用 10&lt;br&gt;&lt;br&gt;0022 如何添加Web...

Global site tag (gtag.js) - Google Analytics