JSON:JavaScript Object Notation,JavaScript对象的一种字面量描述格式,是一种轻量级的数据交换格式。
RPC:Remote procedure call,远程过程(函数、方法)调用。
jsonrpc 依赖 jsonrpc-1.0.jar 文件,以及一个 js文件(jsonrpc.js)
(1)web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
<!--注册配置的Bean对象-->
org.jsonrpc.service.RegistServiceToJsonrpcBridgeListener
</listener-class>
</listener>
<servlet>
<servlet-name>JSONRPCServlet</servlet-name>
<servlet-class>
com.metaparadigm.jsonrpc.JSONRPCServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JSONRPCServlet</servlet-name>
<url-pattern>/JSON-RPC</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>120</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file> index.html </welcome-file>
</welcome-file-list>
</web-app>
(2)jsonrpc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd ">
<bean name="jsonrpcServiceConfigurer"
class="org.jsonrpc.service.spring.JsonrpcServiceConfigurer">
<property name="services">
<map>
<entry key="helloWorld">
<ref bean="helloWorld" />
</entry>
</map>
</property>
</bean>
</beans>
(3)applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd ">
<import resource="jsonrpc.xml"/>
<bean id="helloWorld"
class="com.logcd.service.impl.HelloWorldImpl">
</bean>
</beans>
(4)HelloWorld.java和HelloWorldImpl.java
public interface HelloWorld {
public String sayHelloWorld(String name);
}
public class HelloWorldImpl implements HelloWorld{
public String sayHelloWorld(String name) {
return "Hello World! hello, " + name;
}
}
(5)调用
<script type="text/javascript" src="script/jsonrpc.js"></script><script>
var jsonrpc = null;
//初始化JSONRpcClient对象
jsonrpc = new JSONRpcClient("JSON-RPC");
function jsonrpcHello(){
var name = "阿花!";
var result = jsonrpc.helloWorld.sayHelloWorld(resultCallback,name);
}
function resultCallback(result, e){
alert("The server replied: " + result);
}
</script>
分享到:
相关推荐
压缩包内的"说明.txt"可能是项目文档的一部分,详细解释了如何使用jsonrpc-frontend库,包括安装步骤、API接口、示例代码等。而"jsonrpc-frontend-master"则可能是一个Git仓库的克隆,包含了源代码、示例、测试用例...
scrapy-jsonrpc, Scrapy对使用 JSON RPC控制spider的扩展 爬虫 jsonrpcScrapy jsonrpc是一个扩展,通过 json rpc控制一个正在运行的爬虫网络爬虫。 服务通过协议提供对Crawler对象的访问。安装使用 pip 安装 scrapy-...
JSONRPC(JSON Remote Procedure Call)是一种轻量级的远程过程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。JSON因为其简洁、易于理解和解析的特性,广泛应用于网络通信和数据交换。JSON...
使用这个客户端,你可以像调用本地方法一样调用远程服务,JSONRPC4J会自动处理请求的构建和响应的解析。 7. **错误处理和异常转换** JSONRPC4J支持错误码和错误消息的传递,当服务端抛出异常时,客户端可以通过...
使用"jsonrpc-c-master"进行开发通常包括以下几个步骤: 1. **理解库API**: 阅读库的头文件和文档,了解如何初始化服务器、注册处理函数、接收和发送JSON-RPC消息。 2. **实现业务逻辑**: 编写处理特定RPC方法的函数...
总的来说,JSONRPC4J是一个强大且易于使用的工具,可以帮助Java开发者轻松地实现在不同系统间进行JSON-RPC通信。通过这个压缩包提供的jar、源码和API文档,开发者可以迅速集成和利用JSONRPC4J,提升项目的跨系统通信...
1. **安装依赖**:首先,你需要安装 Laravel JSON-RPC 的服务提供者,如 `swooletw/laravel-jsonrpc`。通过 Composer 安装: ``` composer require swooletw/laravel-jsonrpc ``` 2. **配置服务提供者**:在 `...
JsonRPC, 简单的Json RPC PHP客户机/服务器只 JsonRPC PHP客户端和服务器一个简单的json rpc客户机/服务器。 特性仅限 json rpc 2.0服务器支持批处理请求和通知基于身份验证和IP的客户端限制自定义中间件完全单元...
在本文中,我们将深入探讨如何使用Go语言和jsonrpc库来构建一个基于Websocket的客户端,以便与服务端进行交互并处理接收到的通知消息。首先,让我们了解这些关键概念: 1. **Go语言(Golang)**:由Google开发的...
<artifactId>jsonrpc4j <version>1.5.0 <groupId>javax.portlet <artifactId>portlet-api <version>2.0 Service代码: @JsonRpcService("/member") public interface MemberService { ... } 因为是基于...
使用`jsonrpc-1.0.jar`,开发者可以创建一个JSON-RPC服务器,暴露一组可调用的方法供客户端访问。同时,客户端可以使用此库构造JSON-RPC请求并解析服务器的响应。这个库简化了处理JSON-RPC交互的过程,避免了手动...
之后,引入 `jsonrpc.js`,这样 JavaScript 就能使用 JSON-RPC 功能了。 4. **准备服务器端 JavaBean**:编写你需要暴露给客户端调用的 JavaBean 或服务类。这些类的方法将成为 JavaScript 中可以调用的远程方法。 ...
使用这些库,开发者可以轻松地将Java对象转换成JSON格式,通过JSON RPC协议发送到远程服务,并接收返回的数据。此外,Jackson库的强大之处在于它的灵活性和可配置性,允许定制序列化和反序列化行为,适应各种复杂的...
你提供的"JsonRpc.rar"包含了C++实现的JSON-RPC封装,下面我们将深入探讨这个主题。 1. **JSON-RPC基本概念**: JSON-RPC允许客户端通过发送JSON格式的数据到服务器,请求执行特定的方法,并可能接收到响应结果。...
2. **方法调用**:JSONRPC使用函数调用语义,而RESTful基于HTTP方法(GET、POST等),前者更直观,后者更符合Web原则。 3. **错误处理**:JSONRPC内置错误处理机制,RESTful需要自定义错误响应。 4. **版本控制**:...
当我们将Jsonrpc4j与Spring结合使用时,我们可以利用Spring的自动化配置能力来简化Jsonrpc4j的集成过程,从而更高效地构建分布式系统。 首先,让我们深入理解Jsonrpc4j的核心概念。JSON-RPC是一种轻量级的远程调用...
jsonrpc所需要的jar包,包括jackson-annotations-2.3.0.jar,jackson-core-2.5.4.jar,jackson-databind-2.6.2.jar,jsonrpc4j-1.0.jar
Test-Jsonrpc是一个专门用于测试JSON-RPC接口的工具,主要针对JavaScript开发者,它可以帮助开发者验证JSON-RPC服务的正确性,确保服务端提供的方法能够正确响应客户端的请求。 在JavaScript开发中,测试是保证代码...