看了几天源码,小结一下DWR大概步骤:
1:通过jsName.JS的请求,达到初始化DWR配置以及容器的相关信息,同时它还会把所有允许调用的JAVA方法返回, 当然,它返回的方式是以下这种方式:
1:通过jsName.JS的请求,达到初始化DWR配置以及容器的相关信息,同时它还会把所有允许调用的JAVA方法返回, 当然,它返回的方式是以下这种方式:
function service() { }
service._path = '/temp/dwr';
service.sayHello = function(p0, callback) {
DWREngine._execute(service._path, 'service', 'sayHello', p0, callback);
}
在这里,DWREngine会把这些方法放到一个map之中
我们可以看到,在这些返回方法中,主要有几个信息:请求URL,JS名字,方法名,参数,回调函数
2:当客户端通过,诸如:service.sayHello(service._path, 'service', 'sayHello', p0, callback);
实际上做的是
DWREngine._execute(service._path, 'service', 'sayHello', p0, callback);这时向服务器发送请求
根据相关信息调用(“sayHello")方法,同时进行类型转换,这里的转换指得到的返回值。最后向客户端返回信息,
这个信息是以这样的形式:
DWREngine._handleResponse(id, s0);
这里的id 是一个调用的值,从map中得到,而s0则是返回信息