|
buffalo是国内的michal chen所写的一个AJAX远程调用框架,目前版本是1.2.2。知道这东西是从我开始收集有关AJAX的相关资料时从JAVAEYE上看到了推荐,再怎么说也是国产架构,看demo感觉很不错,就下来了开始学学。 Buffalo使用burlap协议。因此Buffalo解析大数据量可能会比较慢,然而可以适用于多种服务器端和客户端,并且burlap协议的完整性和支持的数据类型更加丰富 Buffalo基于prototype,如果你的AJAX应用也是基于prototype,那么可以减少重复加载prototype的带宽,并且获得相当一致的编程概念,而且易学易用。 以上是javaeye给出的推荐理由,我这两天的接触也证明burlap协议确实封装的很好。至于prototype.js,因我对于JS的使用经验有限,不敢妄谈。目前版本的buffalo可以集成spring,这一开始就很吸引我,我们可以搭建一个控制器放在客户端的应用了?(我称它为消失的“控制器”)我们可以把所有的业务逻辑封装在spring组合起来的业务层中,暴露需要远程调用的“服务”给客户端,我们不再需要什么控制器,我们的AJAX引擎起到了同样的作用。那就试试吧, let's go!
1。login.jsp,简单的登陆界面
Form demos
这里的重要代码片段是:
buffalo.remoteCall("userService.login", [name,password], function(reply){ $("form_infomsg").innerHTML=reply.getResult(); }) 此处调用暴露的远程服务userService.login,参数是name,password,返回结果显示在form_inforsg上
2。我们在哪里注册我们的远程服务?首先buffalo与spring的集成
//web.xml
Rhinoceros Blog
contextConfigLocation /WEB-INF/applicationContext.xml context org.springframework.web.context.ContextLoaderServlet 1
remoting org.springframework.web.servlet.DispatcherServlet 4 service net.buffalo.server.BuffaloServiceServlet debug true remoting /remoting/*
service /BUFFALO
请注意,我们把所有/remoting/*形式的URL全部交给DispatcherServlet处理,它负责如何进行远程调用,在login.jsp中我们看到了springEndPoint="<%=request.getContextPath()%>/remoting/Spring-buffalo";
1
2
下一页>>
|