JSON RPC JAVA 使在javascript中直接调用Java Class,而且可以hand到Java Class的返回值。然后你可以用返回的值去填充Html。
JSONRPCBridge 这个是连接JSONRPC Client和我们Server端的桥梁,我们需要把我们想要调用的Server端的OBject注册到Bridge,在应用程序中我们通常注册到JSONRPCBridge.getGlobalBridge()中, 这是一个单例,我们程序都share这个类,还有一种做法是每次请求都create一个JSONRPCBridge然后把这个放到session,单我觉得没有必要这样做,直接用JSONRPCBridge.getGlobalBridge()就行了。
JSONRPCBridge.getGlobalBridge().registerObject("myObject", myObject);
注册之后我们就能在client使用javascript调用这个myObject了。
var jsonrpc = new JSONRpcClient("/webapp/JSON-RPC/");
Synchronous calls
jsonrpc.myObject.echo("hello");
Asynchronous calls
jsonrpc.test.echo(cb, "hello");
function cb(result, exception) {
if(exception) { alert(exception.message); }
// do stuff here ...
}
我们可以在cb函数中多返回值result进行处理。
其实JSON RPC JAVA的运行原理还是比较容易理解的,把需要调用的对象注册到JSONRPCBridge中,然后JSONRpcClient使用XMLHTTPRequest发送一些规则信息到JSONRPCServlet,JSONRPCServlet根据那些规则然后去调用注册到JSONRPCBridge中对象的方法,然后在把返回值response给JSONRpcClient,然后你就可以调用cb函数去处理其中的result了。但是我们知道这里的result已经是javascript中对应的对象了 int, array。。JSON RPC JAVA是怎样处理的呢?com.metaparadigm.jsonrpc.JSONSerializer com.metaparadigm.jsonrpc.Serializer 他们负责把一些规则的string在javascript中转换成在java中使用的对象,把一些java对象转换成javascript中的对象。JSON RPC JAVA中内置了一些Serializer。请看JSONSerializer.registerDefaultSerializers()方法。
public void registerDefaultSerializers()
throws Exception
{
registerSerializer(new BeanSerializer());
registerSerializer(new ArraySerializer());
registerSerializer(new DictionarySerializer());
registerSerializer(new MapSerializer());
registerSerializer(new SetSerializer());
registerSerializer(new ListSerializer());
registerSerializer(new DateSerializer());
registerSerializer(new StringSerializer());
registerSerializer(new NumberSerializer());
registerSerializer(new BooleanSerializer());
registerSerializer(new PrimitiveSerializer());
}
当然你也可以自己写些自定义的Serializer,具体请看文档。
现在项目中是把JSON RPC JAVA注册一些由Spring管理的对象。这样其实我们就需要在Spring注册ApplicationContext到ServletContext后再把里面的一些对象注册到JSONRPCBridge.getGlobalBridge(), 然后我们就可以在任何的html页面中调用那些对象。
分享到:
相关推荐
JSONRPC(JSON Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。JSON因为其简洁、易于理解和解析的特性,广泛应用于网络通信和数据交换。JSON...
JSON-RPC 是一种轻量级的远程过程调用(Remote Procedure Call)协议,它使用 JSON 格式作为数据交换格式,使得客户端与服务器之间的通信更加简单、高效。在 Web 开发中,AJAX (Asynchronous JavaScript and XML) ...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。基于JSON-RPC 1.0的C语言实现,如"jsonrpc-c-master...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,常用于客户端-服务器通信,特别是在Web应用中。它利用JSON作为数据交换格式,因为JSON易于阅读、编写,并且对机器...
JSON-RPC for Java是一种基于JSON(JavaScript Object Notation)协议的远程过程调用(Remote Procedure Call)框架,它允许客户端通过网络调用服务器上的方法,实现了客户端与服务器端的轻量级通信。本文将详细解释...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java世界中,JSON-RPC作为一个高性能的开源RPC框架...
jsonRPC java远程调用(请求) 返回json
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,主要用来在客户端和服务器之间进行数据交换。它的设计思想是简单、直接,以JSON(JavaScript Object Notation)作为...
json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript编程,...
<artifactId>jsonrpc4j <version>1.5.0 <groupId>javax.portlet <artifactId>portlet-api <version>2.0 Service代码: @JsonRpcService("/member") public interface MemberService { ... } 因为是基于...
JSONRPC(JSON Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在JAVA WEB开发中,JSONRPC常被用来实现客户端和服务端之间的通信,尤其在...
JSONRPC4J是一个Java库,专门用于实现JSON-RPC(JSON Remote Procedure Call)协议。JSON-RPC是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式,使得不同系统之间的通信...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,常用于客户端-服务器通信。在Android开发中,有时我们需要与远程服务器进行数据交互,这时JSON-RPC客户端库就显得尤...
JSON-RPC是一种轻量级的远程过程调用(Remote Procedure Call)协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java开发中,JSON-RPC库可以帮助开发者实现客户端和服务端之间的通信,尤其在...
JSONRPC4J是一种基于Java实现的轻量级远程过程调用(RPC)框架,它允许客户端与服务器之间通过JSON协议进行通信。在这个场景中,我们将讨论如何将JSONRPC4J与Spring框架和Maven构建工具整合,以创建一个高效、灵活的...
JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架. 利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在...
JsonRPC, 简单的Json RPC PHP客户机/服务器只 JsonRPC PHP客户端和服务器一个简单的json rpc客户机/服务器。 特性仅限 json rpc 2.0服务器支持批处理请求和通知基于身份验证和IP的客户端限制自定义中间件完全单元...
非常适合java springboot好用的jsonrpc服务。 客户端调用: Content-Type:application/json {"id":"1","jsonrpc":"2.0","method":"multiplier","params":[5,8]} 服务端返回:{ "jsonrpc": "2.0", "id": "1", ...
JSON RPC 2.0有多种编程语言的实现,如Python的`jsonrpc-server`和`jsonrpc-client`库,JavaScript的`jsonrpc-client`和`jsonrpc-server`模块,以及Java、C#等其他语言的相应实现。 通过理解和掌握JSON RPC 2.0,...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java环境中,JSON-RPC允许应用程序通过网络调用其他...