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" οnclick="testDate()" /><br />
<input type="button" value="testzhao" οnclick="testzhao()" /><br />
<input type="button" value="test Number" οnclick="testNumber()" /><br />
<input type="button" value="test String" οnclick="testString()" /><br />
<input type="button" value="test Boolean" οnclick="testBoolean()" /><br />
<input type="button" value="test Object" οnclick="testObject()" /><br />
<input type="button" value="test Array" οnclick="testArray()" /><br />
<input type="button" value="test User Class" οnclick="testUserClass()" /><br />
<input type="button" value="test UserClass Array" οnclick="testUserClassArray()" /><br />
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值