buffalo方法调用的匹配查找过程介绍

本文详细介绍了Ajax框架Buffalo在JAVA端如何处理JS提交的XML请求,解析并找到最合适的方法进行调用。主要内容包括:JS调用格式、请求解析成BuffaloCall对象、反射调用方法及处理重载方法的策略。着重讨论了根据方法名、参数类型和值找到最精确匹配的方法的机制。
摘要由CSDN通过智能技术生成

  本文是小弟的技术文章处女作,由于个人水平和文字表达能力等原因,错误及不妥之处还望各位同行指点,我的主要目的是把自己的研究心得拿出来分享并使自己有一个总结的过程,高手们见笑了。

 

  Buffalo是一个贯穿前后端的比较完整的Ajax框架,Buffalo最有价值之处,个人感觉有两点:

 

   1、  后端实现了较为完整的基于xml的xml<->object序列化反序列化协议;

   2、  前端提供了适配协议的调用封装和响应解析机制,并基于回调机制提供编码API。

 

   这里先给大家详细介绍 buffalo2.0 中JAVA端如何根据 js 提交的请求XML报文来调用最合适的方法。先来看看JS通过buffalo

异步调用java方法的请求格式,比如我要调用 TestSum 类的 sum(double a,double b) 方法,比如我要调用 TestSum 类的 sum(double a,double b) 方法,参数值为1,2,那么在js中的写法是:

 

  buffalo.remoteCall("TestSum.sum",[1,2], function(reply) {  // 回调函数,这里buffalo是一个Buffalo对象  }

 

  那么经过buffall.js 处理后的格式为:

 

   1. url:  contextPath/buffalo/TestSum ,其中 contenPath是工程路径,buffalo是一个Servlet,作用类似struts中的

ActionSerlvet,而 TestSum 就是类名,其实这只是一个 key ,buffalo 会根据 TestSum 这个 key 到配置文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值