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

Visual Rules Solution Java集成接口<7>—Java类通过Servlet调用-json格式

阅读更多
Java类通过Servlet调用-json格式
在Eclipse中制作一个Test6类,main中接收参数,通过servlet服务调用student.add规则包。显示返回结果。
配置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>
添加java测试类
在java工程中添加一个java类,名为Test6.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 Test6 {
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();
// 以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类,只需加入上述的代码,即可完成调用规则包的工作。
  • 大小: 138.5 KB
分享到:
评论

相关推荐

    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 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....

    DriverStudio 3.2 升级补丁

    DriverStudio 3.2 升级补丁&lt;br&gt;&lt;br&gt;将DriverStudio 3.2升级至DriverStudio 3.2.1&lt;br&gt;&lt;br&gt;原说明如下:&lt;br&gt;&lt;br&gt;Compuware DriverStudio – DriverSuite&lt;br&gt;Version 3.2 ONLY&lt;br&gt;&lt;br&gt;Version 3.2 patch.&lt;br&gt;The ...

    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;在窗口的标题条上显示...

    C#编程经验技巧宝典

    6&lt;br&gt;&lt;br&gt;0014 如何锁定窗体中的控件 6&lt;br&gt;&lt;br&gt;0015 统一窗体中控件的字体设置 7&lt;br&gt;&lt;br&gt;0016 通过“格式”菜单布局窗体 7&lt;br&gt;&lt;br&gt;0017 起始页中的“Visual Studio开发人员新闻” 7&lt;br&gt;&lt;br&gt;1.3 MSDN帮助的...

    Visual C++ 编程资源大全(源码 图形)

    Graphics.zip&lt;br&gt;VC图形编程的一个简单工程&lt;1450kb&gt;&lt;END&gt;&lt;br&gt;25,DIBShow.zip&lt;br&gt;设备无关位图的一个里例子&lt;1830kb&gt;&lt;END&gt;&lt;br&gt;26,Clock.zip&lt;br&gt;一个数字时钟的图形的工程&lt;1450kb&gt;&lt;END&gt;&lt;br&gt;27,PAINTOBJ.zip&lt;br&gt;一个类似...

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

    cirbutton.zip&lt;br&gt;一个圆形的可下推按钮,还不错,可以试试看(50KB)&lt;END&gt;&lt;br&gt;7,anibutton.zip&lt;br&gt;这是一个可以使用DIB显示动画的按钮类库,值得一试(186KB)&lt;END&gt;&lt;br&gt;8,bitbutton.zip&lt;br&gt;这个类库允许你在按钮上使用...

    Asp.net 2.0高级编程(pdf)

    43&lt;br&gt;3.2.1内置编码 44&lt;br&gt;3.2.2新的后台编码模型 46&lt;br&gt;3.3ASP.NET2.0的Page指令 48&lt;br&gt;3.3.1@Page 49&lt;br&gt;3.3.2@Master 51&lt;br&gt;3.3.3@Control 52&lt;br&gt;3.3.4@Import 53&lt;br&gt;3.3.5@Implements 54&lt;br&gt;3.3.6@Register 55...

    visual studio 2019下C++通过JNI调用JAVA代码

    在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...

    Fortify-SCA-扫描工具指导手册.pdf

    G/C++: sourceanalyzer -b &lt;buildid&gt; &lt;compiler&gt; &lt;compiler opts&gt; &lt;files&gt; NET: sourceanalyzer -b &lt;buildin&gt; &lt;exe file&gt; scan〓 sourceanalyzer -b &lt;buildid&gt; -scan -f results. fpr Output opt ions -format &lt;fmt&gt;...

    Oracle Data Provider for .NET (ODP.NET)

    &lt;br&gt; &lt;br&gt; 下载包括&lt;br&gt; &lt;br&gt; Oracle Developer Tools for Visual Studio .NET 2003 10.2.0.2.20 &lt;br&gt;&lt;br&gt; Oracle Developer Tools for Visual Studio 2005 10.2.0.2.20 &lt;br&gt;&lt;br&gt; Oracle Data Provider for .NET 1....

    利用vscode创建的spring基础调试项目

    在本文中,我们将深入探讨如何使用Visual Studio Code (VSCode) 创建一个基础的Spring项目,并进行调试。首先,让我们理解Spring框架以及它在Java开发中的重要性。Spring 是一个开源的Java应用程序框架,它简化了...

    visual Assist x 10.4.1619 +Crack完整版

    &lt;br&gt;&lt;br&gt;Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。 &lt;br&gt;&lt;br&gt;Visual Assist...

    转换为json数据以及完整的json包

    - JSON编辑器:如Visual Studio Code的JSON插件,帮助编写和格式化JSON结构。 - JSON库对比:了解不同库的优缺点,根据项目需求选择最适合的,如Gson更适合简单场景,而Jackson提供更高级的功能。 总结,将结果集...

    Dynamic TWAIN ActiveX 3.0(含注册机)

    Dynamic TWAIN特性:&lt;br&gt;&lt;br&gt;能和纯Win32 API环境以及汇编环境兼容,这样使得Dynamic TWAIN:&lt;br&gt;&lt;br&gt;更小:不需要C/C++运行函数库;&lt;br&gt;更快:JPEG译码器的核心引擎以及Dynamic TWAIN的图象处理部分通过汇编语言...

    VB API 经典教程合集

    &lt;br&gt;B.VBAPI函数参考手册.chm&lt;br&gt;C.VB经典编程集合.exe&lt;br&gt;&lt;br&gt;D.Vb与Windows API讲座&lt;br&gt;E.VB 程序大揭秘.pdf&lt;br&gt;.................&lt;br&gt;&lt;br&gt;文件为一个独立压缩包,解开后即可使用里面的文件。&lt;br&gt; 需要声明的是,...

    使用Visual Studio Team Foundation Server进行团队开发

    本书共分四部分,此为第一部分&lt;br&gt;包括基础知识、源代码管理、生成、大型项目考虑事项&lt;br&gt;项目管理、过程指南、报告、设置和维护团队环境和&lt;br&gt;Visual Studio 2008 Team Foundation Server等九章节&lt;br&gt;&lt;br&gt;Jeff ...

    awk.exe

    &lt;br&gt;使用时建议放在X:\Program Files\Microsoft Visual Studio\VC98\Bin中。&lt;br&gt;&lt;br&gt;ps:&lt;br&gt;本人在win2003r2 sp2上用vc6编译apache httpd2.2.4时出现错误:&lt;br&gt;Support for LDAP v2.0 toolkits has been removed ...

Global site tag (gtag.js) - Google Analytics