PHPRPC jsp发布服务
PHPRPC是面向服务的高性能远程过程调用协议。PHPRPC for java 是此协议的一种实现,详细请到官方看PHPRPC的介绍 ,以其它rpc协议的性能对比请:Java、PHPRPC、Hessian、Burlap、XML 序列化的效率对比 。以下只是试用下。
下载:PHPRPC 3.0.2 for Java , 解压到(如:f:/phprpc_3.0.2_for_java),然后双击make.bat生成服务与客户端,生成phprpc.jar和phprpc_client.jar两个jar,把phprpc.jar放到web项目的WEB-INF/lib目录下。
先写个模拟业务接口:Hello.java接口与其实现MyHello.java
- package com.chenlb.phprpc;
- /**
- * 业务接口
- *
- * @author chenlb 2009-2-22 下午08:06:13
- */
- public interface Hello {
- String say(String name);
- }
- package com.chenlb.phprpc;
- /**
- * 服务器的一个模拟任务
- *
- * @author chenlb 2009-2-22 下午08:05:42
- */
- public class MyHello implements Hello {
- public String say(String name) {
- return "Hello "+name;
- }
- }
服务端然后发布业务(被远程调用的):rpc.jsp,也可以用servlet发布服务
- <%@ page import="com.chenlb.phprpc.*" %>
- <%@ page import="org.phprpc.*" %>
- <%
- Hello hello = new MyHello();
- PHPRPC_Server phprpc_server = new PHPRPC_Server();
- phprpc_server.add(hello);
- phprpc_server.start(request, response);
- %>
当然要把Hello.class与Myhello.class放到web项目里,如WEB-INF/classes。
编写java客户端代码,试用:
- package com.chenlb.phprpc;
- import org.phprpc.PHPRPC_Callback;
- import org.phprpc.PHPRPC_Client;
- public class PhpRpcDemo {
- public static void main(String[] args) {
- PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/rpc.jsp");
- Hello m = (Hello) client.useService(Hello.class);
- System.out.println(m.say("chenlb"));
- //也可以以 callback形式调用.
- client.invoke("say", new Object[] {"other"}, new PHPRPC_Callback() {
- public void handler(String result, Object[] args) {
- System.out.println("handler:");
- System.out.println(result);
- System.out.println("args:"+args[0]);
- System.out.println();
- }
- });
- }
- }
示例了两种使用方式,输出结果为:
Hello chenlb
handler:
Hello other
args:other
PHPRPC jsp发布服务的更多相关文章
- PHPRPC servlet发布服务
1.服务端 web.xml PHPRPCDispacherServlet 2.客户端 controller层调用
- 13_CXF和Spring整合发布服务
[服务端] 第一步:建立一个Web项目 第二步:填充CXF jar包 第三步:创建接口及服务类 [工程截图(对比之前的WebService_CXF_Server00)] [applicationCon ...
- SAP PI开发手册-ERP发布服务供外围系统调用(RFC类型)
1转自:https://www.cnblogs.com/fanjb/p/10677018.html 8年进入国网项目后陆陆续续做了一些接口,按实现方法去分有RFC和代理类sproxy类型,按服务提供方 ...
- ServiceStack.Redis订阅发布服务的调用(Z)
1.Redis订阅发布介绍Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式.发布者和订阅者之间使用频 ...
- ArcGIS Server开发教程系列(2)配置ARCMAP和ARCCatalog发布服务
1. Arc catalog的配置 打开catalog,如图新增刚刚创建的server 1. Use GIS services: 用户身份连接 使用此种连接,可以浏览.使用站点内发布的所有 ...
- ServiceStack.Redis订阅发布服务的调用
1.Redis订阅发布介绍 Redis订阅发布是一种消息通信模式:发布者(publisher)发送消息,订阅者(Subscriber)接受消息.类似于设计模式中的观察者模式. 发布者和订阅者之间使用频 ...
- jsp作为服务端,ajax请求回应
刚学ajax,想以jsp作为服务端,来回应ajax的请求: 代码如下: <!DOCTYPE html> <html> <head lang="en"& ...
- jsp发布:Could not publish server configuration: null. java.lang.NullPointerException
1.jsp发布: Could not publish server configuration: null. java.lang.NullPointerException
- ArcGIS发布服务时缓存切片设置
[文件]>[共享]>[服务]>[覆盖原有服务]或[创建新服务] 设置好相关参数后,会弹出"服务编辑框": 进入"缓存" 1."绘制此 ...
随机推荐
- read.csv 把 "T" 读成 "TRUE" 的问题
read.csv(text="A,B,T,T", header=FALSE) ## V1 V2 V3 V4 ## 1 A B TRUE TRUE RT, 有的时候R读取数据的时候容 ...
- python数据结构与算法——快速排序
快速排序通过不断将数列分段,使得较小的数在左边的序列,较大的数在右边的序列,不断重复此过程实现排序效果.通过设置两个哨兵不断的找两个序列的较小数,较大数,并把左右的数据互换,实现对数据从粗到细的排序. ...
- LintCode Binary Tree Maximum Path Sum
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...
- [20150925]Linux之文件系统与SHELL
Linux之文件系统与SHELL 文件系统介绍 ext2/ext3/ext4 Ext2是GNU/Linux系统中标准的文件系统.这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有 ...
- 【渗透测试学习平台】 web for pentester -4.XML
example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...
- linux之各个文件夹作用
/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home ...
- UIAutomator定位Android控件的方法
UIAutomator各种控件定位的方法. 1. 背景 使用SDK自带的NotePad应用,尝试去获得在NotesList那个Activity里的Menu Options上面的那个Add note菜单 ...
- Openstack Neutron DVR workflow
目前在Juno版本的trunk中已经合入了DVR相关的代码,我的理解是在Juno版本中DVR是一个experimental feature.最好需要稳定一个版本以后再上生产环境.之前写过一篇博文是DV ...
- 微信获取坐标的JS
wx.getLocation({ type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' succes ...
- android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )屏幕适配
http://www.tuicool.com/articles/nuyMZb 1 Android手机目前常见的分辨率 1.1 手机常见分辨率: 4:3 VGA 640*480 (Video G ...