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
分享到:
相关推荐
<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的传说...
* Home Page<br>* http://visual-mingw.sourceforge.net/<br>*<br>* Mailing list<br>* http://sourceforge.net/mail/?group_id=46778<br>* visual-mingw-general@lists.sourceforge.net<br>*<br>* License<br>* ...
1,01.zip<br>Output<br>显示所有的调试信息(5KB)<END><br>2,02.zip<br>Some general debugging tips<br>一般的调试技巧(11KB)<END><br>3,03.zip<br>Debugging ISAPI extension<br>调试ISAPI扩展(4KB)<END><br>4,04....
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 ...
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>在窗口的标题条上显示...
6<br><br>0014 如何锁定窗体中的控件 6<br><br>0015 统一窗体中控件的字体设置 7<br><br>0016 通过“格式”菜单布局窗体 7<br><br>0017 起始页中的“Visual Studio开发人员新闻” 7<br><br>1.3 MSDN帮助的...
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>一个类似...
cirbutton.zip<br>一个圆形的可下推按钮,还不错,可以试试看(50KB)<END><br>7,anibutton.zip<br>这是一个可以使用DIB显示动画的按钮类库,值得一试(186KB)<END><br>8,bitbutton.zip<br>这个类库允许你在按钮上使用...
43<br>3.2.1内置编码 44<br>3.2.2新的后台编码模型 46<br>3.3ASP.NET2.0的Page指令 48<br>3.3.1@Page 49<br>3.3.2@Master 51<br>3.3.3@Control 52<br>3.3.4@Import 53<br>3.3.5@Implements 54<br>3.3.6@Register 55...
在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...
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>...
<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....
在本文中,我们将深入探讨如何使用Visual Studio Code (VSCode) 创建一个基础的Spring项目,并进行调试。首先,让我们理解Spring框架以及它在Java开发中的重要性。Spring 是一个开源的Java应用程序框架,它简化了...
<br><br>Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。 <br><br>Visual Assist...
- JSON编辑器:如Visual Studio Code的JSON插件,帮助编写和格式化JSON结构。 - JSON库对比:了解不同库的优缺点,根据项目需求选择最适合的,如Gson更适合简单场景,而Jackson提供更高级的功能。 总结,将结果集...
Dynamic TWAIN特性:<br><br>能和纯Win32 API环境以及汇编环境兼容,这样使得Dynamic TWAIN:<br><br>更小:不需要C/C++运行函数库;<br>更快:JPEG译码器的核心引擎以及Dynamic TWAIN的图象处理部分通过汇编语言...
<br>B.VBAPI函数参考手册.chm<br>C.VB经典编程集合.exe<br><br>D.Vb与Windows API讲座<br>E.VB 程序大揭秘.pdf<br>.................<br><br>文件为一个独立压缩包,解开后即可使用里面的文件。<br> 需要声明的是,...
本书共分四部分,此为第一部分<br>包括基础知识、源代码管理、生成、大型项目考虑事项<br>项目管理、过程指南、报告、设置和维护团队环境和<br>Visual Studio 2008 Team Foundation Server等九章节<br><br>Jeff ...
<br>使用时建议放在X:\Program Files\Microsoft Visual Studio\VC98\Bin中。<br><br>ps:<br>本人在win2003r2 sp2上用vc6编译apache httpd2.2.4时出现错误:<br>Support for LDAP v2.0 toolkits has been removed ...