日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

jsonrpc环境搭建和简单实例

發布時間:2024/1/3 综合教程 23 生活家
生活随笔 收集整理的這篇文章主要介紹了 jsonrpc环境搭建和简单实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、環境準備

  下載需要的jar包和js文件,下載地址:https://yunpan.cn/cxvbm9DhK9tDq 訪問密碼 6a50

二、新建一個web工程,jsonrpc-1.0.jar復制到lib目錄下,jsonrpc.js放到WebContent目錄下,如下圖所示:

到此,環境已經準備完畢。

簡單實例:

一、新建RPC遠程調用的類,RPCTest.java,如下圖所示:

源碼如下:

package com.cvicse.ump.rpc;

import java.util.HashMap;
import java.util.Map;

public class RPCTest {
	
	public String TestStringRpc(String rpcString){
		return "rpc字符串:"+rpcString;
	}
	
	public Map TestMapRpc(String schoolName){
		Map map = new HashMap<String, String>();
		map.put("初一","好好學習,努力上初二");
		map.put("初二","好好學習,努力上初三");
		map.put("初三","好好學習,努力上大學");
		
		return map;
	}

}

  代碼分析:函數TestStringRpc返回一個字符串;函數TestMapRpc返回一個map。

二、新建jsp,調用遠程接口,如下圖所示:

源碼如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="JSONRPCBridge" scope="session" class="com.metaparadigm.jsonrpc.JSONRPCBridge" />
<jsp:useBean id="RPCTest" scope="request" class="com.cvicse.ump.rpc.RPCTest" ></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RPC TEST</title>
<script type="text/javascript" src="jsonrpc.js"></script>
<%
JSONRPCBridge.registerObject("RPCTest", RPCTest);
%>
<script type="text/javascript">
    var jsonrpc = new JSONRpcClient("JSON-RPC");
    function callback(result, exception){
        if (exception == null) {
            alert(result);
        } else {
            alert(exception.message);
        }
    }
    function getRPCName(){
        jsonrpc.RPCTest.TestStringRpc(callback,"你好,祖國!");
    }
    function getRPCMap(){
        jsonrpc.RPCTest.TestMapRpc(receive,"實驗中學");
    }
    function receive(result, exception){
        if (exception == null) {
            var mid = result.map;
            for(var key in mid){
                alert(key+":"+mid[key]);
            }

        }else {
            alert(exception.message);
        }
    }
</script>
</head>
<body>
<input type="button" value="rpc字符串測試" onclick="getRPCName()">
<input type="button" value="rpcMap測試" onclick="getRPCMap()">
</body>
</html>

源碼分析:

生成一個JSONRPCBridge對象:<jsp:useBean id="JSONRPCBridge" scope="session" class="com.metaparadigm.jsonrpc.JSONRPCBridge" />;

生成一個RPCTest對象:<jsp:useBean id="RPCTest" scope="request" class="com.cvicse.ump.rpc.RPCTest" ></jsp:useBean>;

引入jsonrpc.js文件:<script type="text/javascript" src="jsonrpc.js"></script>

把要遠程調用的對象注冊:JSONRPCBridge.registerObject("RPCTest", RPCTest);

定義遠程調用的客戶端:var jsonrpc = new JSONRpcClient("JSON-RPC");函數參數"JSON-RPC"調用servlet的url,和后面Web.xml中定義的servlet中url對應;

真正的遠程調用:jsonrpc.RPCTest.TestStringRpc(callback,"你好,祖國!");和jsonrpc.RPCTest.TestMapRpc(receive,"實驗中學");參數中的callback和receive是兩個對應的回調函數。

三、在Web.xml中,配置對應的servlet,如下圖所示:

源碼如下:

<?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">
    <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>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

注意:url-pattern中的/JSON-RPC與jsp中var jsonrpc = new JSONRpcClient("JSON-RPC");中的參數一致。

運行效果:

對應工程源碼:https://yunpan.cn/cxvzMXyEFS6tf 訪問密碼 6561

總結

以上是生活随笔為你收集整理的jsonrpc环境搭建和简单实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。