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(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,常用于客户端-服务器通信,特别是在Web应用中。它利用JSON作为数据交换格式,因为JSON易于阅读、编写,并且对机器...
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)是一种轻量级的远程过程调用协议,它使用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 { ... } 因为是基于...
JSON-RPC for Java是一种基于JSON(JavaScript Object Notation)协议的远程过程调用(Remote Procedure Call)框架,它允许客户端通过网络调用服务器上的方法,实现了客户端与服务器端的轻量级通信。本文将详细解释...
JSONRPC(JSON Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在JAVA WEB开发中,JSONRPC常被用来实现客户端和服务端之间的通信,尤其在...
非常适合java springboot好用的jsonrpc服务。 客户端调用: Content-Type:application/json {"id":"1","jsonrpc":"2.0","method":"multiplier","params":[5,8]} 服务端返回:{ "jsonrpc": "2.0", "id": "1", ...
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客户端库就显得尤...
JsonRpc-Cpp provides a JSON-RPC class called Json::Rpc::Handler that contains RPC methods, check incoming JSON-RPC message, * reply either with success or error code (in case parsing failed, ...). *...
JSON RPC(Remote Procedure Call)是一种轻量级的远程调用协议,主要应用于分布式系统中,使得客户端能够像调用本地函数一样调用远程服务器上的函数。JSON RPC 2.0是该协议的一个重要版本,它在JSON RPC 1.0的基础...
JSON-RPC是一种轻量级的远程过程调用(Remote Procedure Call)协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java开发中,JSON-RPC库可以帮助开发者实现客户端和服务端之间的通信,尤其在...
JSON-RPC 是一种轻量级的远程过程调用(Remote Procedure Call)协议,它使用 JSON 格式作为数据交换格式,使得客户端与服务器之间的通信更加简单、高效。在 Web 开发中,AJAX (Asynchronous JavaScript and XML) ...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java环境中,JSON-RPC允许应用程序通过网络调用其他...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON作为数据交换格式。wsgi-jsonrpc库是将这两个概念结合的工具,允许开发人员在Python Web应用中实现JSON-...
利用它内置的一个轻级量JSON-RPC JavaScripIt客户端,可以让你透明地在JavaScript中调用Java代码。JSON-RPC-Java可运行在Servlet容器中如Tomcat也可以运行在JBoss与其它J2EE应用服务器中因此可以在一个基于...