使用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.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
...
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97