使用Buffalo集成Spring写的一个登录实例 (1)

发表于:2007-06-10来源:作者:点击数: 标签:
buffalo是国内的michalchen所写的一个AJAX远程调用框架,目前版本是1.2.2。知道这东西是从我开始收集有关AJAX的相关资料时从JAVAEYE上看到了推荐,再怎么说也是国产架构,看demo感觉很不错,就下来了开始学学。 Buffalo使用burlap协议。因此Buffalo解析大数据

 

 

 

 

 

 

 

 

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,简单的登陆界面
 


JavaScript" src="script/prototype.js">



var springEndPoint="<%=request.getContextPath()%>/remoting/Spring-buffalo";
var buffalo = new Buffalo(springEndPoint);

function doSubmit() {
        var name=Buffalo.getElementById("name").value;
        var password=Buffalo.getElementById("password").value;
 buffalo.remoteCall("userService.login", [name,password], function(reply){
  $("form_infomsg").innerHTML=reply.getResult();
 })
}



Form demos






  Username
  
  
  Password
  
  
 
 
 



这里的重要代码片段是:

buffalo.remoteCall("userService.login", [name,password], function(reply){
  $("form_infomsg").innerHTML=reply.getResult();
 })
此处调用暴露的远程服务userService.login,参数是name,password,返回结果显示在form_inforsg上

 

 

2。我们在哪里注册我们的远程服务?首先buffalo与spring的集成
 

//web.xml


TD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

  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 下一页>>




原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
...