第一版,可以理解为Preview

基于前两天写的一个Coder[url=/blog/589096]http://zcy860511.iteye.com/blog/589096[/url]
制作的一个Javascript远程对象调用器
开始添加了spring的调用,现在暂时处于不稳定状态,所以这里就不使用了。

先看下服务端配置:
web.xml

<servlet>
<servlet-name>debug</servlet-name>
<servlet-class>org.javazone.jroi.web.servlet.JroiServlet</servlet-class>
<init-param>
<param-name>jroi.configuration.location</param-name>
<param-value>jroi.config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>debug</servlet-name>
<url-pattern>/jroi/*</url-pattern>
</servlet-mapping>

jroi.config.xml//该文件放于classpath下
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE remote-beans PUBLIC
"-//JAVAZONE//DTD Javazone Remote Object Invoker//EN"
"jroi10.dtd">
<remote-beans>

<bean id="TestBean" class="org.javazone.show.jroi.RemoteBean" scope="single">
<constructor>
<args index="0" ref="bean"/>
</constructor>
<method name="getString"/>
<method name="getInt"/>
<method name="getBean"/>
</bean>

<bean id="bean" class="org.javazone.show.jroi.Bean" scope="single" />

</remote-beans>

服务端代码:
Bean.java

package org.javazone.show.jroi;

public class Bean
{

private String name = "bean name";

private String value = "bean value";

public void setName(String name)
{
this.name = name;
}

public String getName()
{
return name;
}

public void setValue(String value)
{
this.value = value;
}

public String getValue()
{
return value;
}
}

RemoteBean.java

public class RemoteBean
{
private Bean bean;

public RemoteBean(Bean bean)
{
this.bean = bean;
}

public String getString()
{
return "test String";
}

public int getInt()
{
return 1248123;
}

public Bean getBean()
{
return bean;
}
}

客户端代码。

<script src="./jroi/jroi.js" ></script>
<script src="./jroi/TestBean.js"></script>

引入这两个文件

function testString(){
TestBean.getString(callback);
}

function testInt(){
TestBean.getInt(callback);
}

function testBean(){
TestBean.getBean(callback);
}

function callback(data){
if(typeof data == 'object')
{
var div = document.getElementById("print")
div.innerHTML = "data.name = " + data.name + " data.value" + data.value
}
else{
var div = document.getElementById("print")
div.innerHTML = data;
}
}

上面是具体用法,因为是异步的所以会有回调函数

总结来看,和DWR是差不多的关系,只是发现DWR一些不好的地方,改进了一下,不需要配置convert就可以直接转换你的Bean,更加智能,而且我发现DWR貌似不能使用具有构造函数的Bean,所以也解决了这个问题,当然,我不是很熟悉DWR这个框架,所以不知道有提供这样的方法没有。

最后,jroi需要和apache的logging工具一起使用,需要导入这个包,我就不发上来了,至于dtd,如果使用eclipse需要添加一下xml catalog。

这个版本只是一个预览版,应该有很多的BUG,所以大家尽可能的给我提出来,我将不甚感激
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值