Direkte web -fjernbetjening - Direct Web Remoting
| Originale forfattere | Joe Walker |
|---|---|
| Udvikler (er) | David Marginian / Dojo Foundation |
| Første udgivelse | 29. august 2005 |
| Stabil udgivelse | 3.0.2 / 11. december 2016
|
| Depot |
|
| Skrevet i | Java og JavaScript |
| Operativ system | På tværs af platforme |
| Størrelse | 1,08 MB (arkiveret) |
| Type | Ajax teknologi |
| Licens | Apache 2.0 -licens |
| Internet side |
directwebremoting |
Direct Web Remoting , eller DWR , er et Java open source- bibliotek, der hjælper udviklere med at skrive websteder, der indeholder Ajax- teknologi. Det tillader kode i en webbrowser at bruge Java -funktioner, der kører på en webserver, som om disse funktioner var i browseren. DWR -projektet blev startet af Joe Walker i 2004, 1.0 frigivet den 29. august 2005.
Ansøgning
- Kode til at tillade JavaScript at hente data fra en servlet -baseret webserver ved hjælp af Ajax -principper.
- Et JavaScript -bibliotek, der gør det lettere for webstedsudvikleren dynamisk at opdatere websiden med de hentede data.
DWR tager en ny tilgang til Ajax ved dynamisk at generere JavaScript -kode baseret på Java -klasser. Således kan webudvikleren bruge Java -kode fra JavaScript, som var den lokal for webbrowseren; hvorimod Java -koden i virkeligheden kører på webserveren og har fuld adgang til webserverressourcer. Af sikkerhedsmæssige årsager skal webudvikleren konfigurere præcis, hvilke Java -klasser der er sikre at eksportere (som ofte kaldes web.xml eller dwr.xml ).
Denne metode til fjernbetjening af funktioner fra Java til JavaScript giver DWR-brugere en følelse, der ligner konventionelle RPC- mekanismer som RMI eller SOAP , med den fordel, at den kører over internettet uden at kræve webbrowser-plug-ins.
DWR anser ikke webbrowser / webserverprotokollen for vigtig, og foretrækker at sikre, at programmørens interface er naturlig. Den største udfordring ved dette er at gifte sig med den asynkrone karakter af Ajax med den synkrone karakter af normale Java -metodeopkald.
I den asynkrone model er resultatdata kun tilgængelige et stykke tid efter det første opkald er foretaget. DWR løser dette problem ved at give webudvikleren mulighed for at angive en funktion, der skal kaldes, når data returneres ved hjælp af en ekstra metodeparameter. Denne ekstra metode kaldes CallBack Method . Den værdi, der returneres fra java -funktionen, overføres til tilbagekaldsmetoden.
Her er et eksempel på tilbagekald:
MJavaClassOnJs.getListProducts(selectedCategory,{
callback:function(returnedList){
dwr.util.addOptions(myComboId,returnedList,"productId","productName")
}
})
Tilbagekaldelsen er den funktion inde i JSON -objektet, der blev sendt som en ekstra parameter til den fjernbetjente funktion.
Med version 2.0 understøtter DWR Comet (også kaldet "Reverse Ajax), hvor Java -kode, der kører på serveren, bevidst kan sende dedikeret JavaScript til en browser.
Referencer
- ^ Carneiro Jr., Nelliker (20. juni 2005). "AJAX gjort enkelt med DWR" . JavaWorld . Hentet 2020-08-06 .
- ^ a b Oversigt over DWR , hentet 2008-06-24
Bibliografi
- Zammetti, Frank (25. januar 2008), Practical DWR 2 Projects (1. udgave), Apress , s. 540, doi : 10.1007/978-1-4302-0556-2 , ISBN 978-1-59059-941-9