javascriptRPC

javascriptRPC使用方法

一、约束

1、不支持泛型

2、java服务类中的方法必须是public static 的 (可下载Test.rar 进行参照着写)

3、myeclipse下使用的时候一定注意jsp标头,必须是全英文的,看起来一样但是就是报错,重新写一遍即可。实在不行就下载 下面的src.rar  解压放到工程相应目录即可解决。

4、暂不支持中文(有中文乱码现象,可以自行解决)
5、配置文件位置

   1)默认会去src下找“rpc_config.xml”配置文件; 如:AJAXRPC_Server server = new AJAXRPC_Server();
   2)如果指定文件路径前面带“/” 斜杠,那么会去src下找;如:AJAXRPC_Server server = new AJAXRPC_Server("/test/rpc_config8.xml");
   3)如果指定文件路径前面不带“/” 斜杠,那么会去WEB-INF下找;如:AJAXRPC_Server server = new AJAXRPC_Server("test/rpc_config8.xml");


5、暂不支持中文 正在优化中。

****************************使用方法**********
二、使用方法

1、导入jar包“RPC-ZHAO-1.0.jar”(本文章自带所有资料,下载即可使用)

2、复制 “scripts”文件夹到 工程根目录下(里面放的是JS文件,不需要任何修改)

3、复制 “ajaxrpc”文件夹到 工程根目录下(里面放的是JSP文件,主要是加载配置文件用的,只需要在其中修改你的配置文件路径即可,路径问题可参照 上面 4 描述)

4、发布java服务,建立 rpc_config.xml放到 src目录下即可,也可参照 上面的4所描述,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<services>
<service id="Test" class="test.Test"/>
<service id="zhao" class="zhao.Zhao"/>
</services>

配置说明:每个java服务配置一个  service 标记,其中,id是在jsp(或html)里使用的名称,可以任意定义,class是java服务类全名(包+类名称)


5、加载rpc_config.xml配置文件

从下面下载“ajaxrpc.rer”并解压放到工程的根目录,分别打开两个jsp,修改配置文件位置即可,如:Script.jsp 打开后显示如下:
<%@ page import="org.ajaxrpc.*" %> 
<%
  HttpContext.setCurrent(request, response);
  AJAXRPC_Script script = new AJAXRPC_Script("rpc_config.xml");
  response.getWriter().write(script.getScripts());
%>


而你只需要修改 rpc_config.xml即可(改成你的实际位置和实际名称即可),你也可以这样配置:AJAXRPC_Script script = new AJAXRPC_Script(); 那么你就把rpc_config.xml放到src下即可(这样的话名称只能叫“rpc_config.xml”,因为这是默认的位置和名称)



6、jsp中使用方法下面是一个jsp例子:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script src="scripts/AJAXRPC.js" type="text/javascript"></script>
<script src="ajaxrpc/Script.jsp" type="text/javascript"></script>
<script type="text/javascript">
var client = new AJAXRPC_Client('ajaxrpc/Server.jsp');
var Test = client.Test;

var zhao = client.zhao;

function testzhao(){
    var dd = zhao.getMessage('赵士杰先生你好:你的测试成功了。');
    alert(dd);
}


function testDate(){
    var o = Test.getTime();
    alert(o);
}
function testNumber(){
    var o = Test.add(1, 10);
    alert(o);
}
function testString(){
    var o = Test.sayHello('world!');
    alert(o);
}
function testBoolean(){
    var o = Test.isTrue(true);
    alert(o);
    var o = Test.isTrue(false);
    alert(o);
}
function testObject(){
    var user = {
        id: null,
        name: 'ajaxrpc',
        birthday: new Date(),
        gender: 1       
    };
    var id = Test.addUser(user);
    alert(id);
}
function testArray(){
    var users = Test.getUsers('ajaxrpc');
    alert(users.length +":"+ users[0].name +":"+ users[users.length-1].name);
}
function testUserClass(){
    var user = {
        id: null,
        name: 'ajaxrpc',
        birthday: null,
        gender: 1       
    };
    user = Test.updateUser(user);
    alert(user.birthday);
}
function testUserClassArray(){
    var users = [];
    for(var i=0; i<20; i++){
        var user = {
            id: i,
            name: 'ajaxrpc'+i,
            birthday: new Date(),
            gender: i%2
        };   
        users.push(user);
    }
    var users = Test.saveUsers(users);
    alert(users.length +":"+ users[0].name +":"+ users[users.length-1].name);
}
</script>


  </head>
 
  <body>
  <input type="button" value="test Date" onclick="testDate()" /><br />
    <input type="button" value="testzhao" onclick="testzhao()" /><br />
    <input type="button" value="test Number" onclick="testNumber()" /><br />
    <input type="button" value="test String" onclick="testString()" /><br />
    <input type="button" value="test Boolean" onclick="testBoolean()" /><br />
    <input type="button" value="test Object" onclick="testObject()" /><br />
    <input type="button" value="test Array" onclick="testArray()" /><br />
    <input type="button" value="test User Class" onclick="testUserClass()" /><br />   
    <input type="button" value="test UserClass Array" onclick="testUserClassArray()" /><br />
  </body>
</html>




你可能感兴趣的:(html,jsp,xml,Web,MyEclipse)