Direkt webbremoting

Direkt webbremoting
Originalförfattare Joe Walker
Utvecklare David Marginian / Dojo Foundation
Initial release 29 augusti 2005 ; för 17 år sedan ( 2005-08-29 )
Stabil frisättning
3.0.2 / 11 december 2016 ; för 6 år sedan ( 2016-12-11 )
Förvar
Skrivet i Java och JavaScript
Operativ system Cross-plattform
Storlek 1,08 MB (arkiverad)
Typ Ajax teknik
Licens Apache 2.0-licens
Hemsida directwebremoting .org Edit this at Wikidata

Direct Web Remoting , eller DWR , är ett Java -bibliotek med öppen källkod som hjälper utvecklare att skriva webbplatser som inkluderar Ajax -teknik. Det tillåter kod i en webbläsare att använda Java-funktioner som körs på en webbserver som om dessa funktioner fanns i webbläsaren. DWR-projektet startades av Joe Walker 2004, 1.0 släpptes den 29 augusti 2005.

Ansökan

  • Kod för att tillåta JavaScript att hämta data från en servletbaserad webbserver med hjälp av Ajax-principer.
  • Ett JavaScript-bibliotek som gör det enklare för webbutvecklaren att dynamiskt uppdatera webbsidan med hämtad data.

DWR tar ett nytt förhållningssätt till Ajax genom att dynamiskt generera JavaScript-kod baserad på Java-klasser. Således kan webbutvecklaren använda Java-kod från JavaScript som om den vore lokal för webbläsaren; medan Java-koden i själva verket körs i webbservern och har full tillgång till webbserverresurser. Av säkerhetsskäl måste webbutvecklaren konfigurera exakt vilka Java-klasser som är säkra att exportera (vilket ofta kallas web.xml eller dwr.xml ).

Denna metod för att fjärrstyra funktioner från Java till JavaScript ger DWR-användare en känsla ungefär som konventionella RPC- mekanismer som RMI eller SOAP , med fördelen att den körs över webben utan att behöva plugin-program för webbläsare.

DWR anser inte att webbläsaren/webbserverprotokollet är viktigt och föredrar att se till att programmerarens gränssnitt är naturligt. Den största utmaningen för detta är att förena Ajax asynkrona natur med den synkrona naturen hos normala Java-metodanrop.

I den asynkrona modellen är resultatdata endast tillgänglig en tid efter det första anropet har gjorts. DWR löser detta problem genom att tillåta webbutvecklaren att ange en funktion som ska anropas när data returneras med hjälp av en extra metodparameter. Denna extra metod kallas CallBack Method . Värdet som returneras från java-funktionen kommer att skickas till callback-metoden.

Här är ett exempel på återuppringning:

 
  
    
  
  MJavaClassOnJs  .  getListProducts  (  selectedCategory  ,{  callback  :  function  (  returnedList  ){  dwr  .  util  .  addOptions  (  myComboId  ,  returnedList  ,  "productId"  ,  "productName"  )  }  }) 

Återuppringningen är den funktion inuti JSON- objektet som skickas som en extra parameter till den fjärrstyrda funktionen.

Med version 2.0 stöder DWR Comet (även kallat "Reverse Ajax) där Java-kod som körs på servern medvetet kan skicka dedikerad JavaScript till en webbläsare.

  1. ^ Carneiro Jr., Kryddnejlika (20 juni 2005). "AJAX gjort enkelt med DWR" . JavaWorld . Hämtad 2020-08-06 .
  2. ^ a b Översikt över DWR , hämtad 2008-06-24

Bibliografi

externa länkar