Bu yazımda DWR (Direct Web Remoting ) ‘dan bahsetmeye çalışacağım.
AJAX'a web uygulamalarımızda çok sık ihtiyaç duymaktayız. Peki nedir bu AJAX;
Aslinda ajax HTML / CSS/ DOM / JavaScript XML / XML/HttpRequest gibi birçok bileşenin birleştirlmesiyle geliştirilmiş bir teknolojidir. Adından da anlaşılacağı üzere Asenkron bir işletim söz konusu olduğundan şöyle bir fayda sağlamaktadır; güncellemelerde sayfanın değil istenilen kısımların sunucuya gidip gelmesidir. DWR' da aslında bir AJAX framework’ü olduğundan AJAX'a değinmek istedim önce.
DWR iki ana bölümden oluşmakta;
- İstemciden gelecek request'leri işleyen ve istemciye tekrar bir cevap dönen Java Servlet'leri.
- Request'leri gönderen ve servlet’lerden dönen responslarla sayfayı güncelleyen JavaScript parçalarından oluşur diyebiliriz.
Aşağıdaki resimde işleyişi anlatma adına güzel olmuş.
Şimdi de DWR'ı nasıl kullanacağımızı adım adım anlatmaya çalışayım;
1) Önce bir Dynamic Web Project oluşturuyorsunuz.
2) DWR Jar'ını sayfasından indirerek WEB-INF altında lib klasörünün altına koyuyoruz.Eğer lib klasörü yoksa bir tane oluşturabiliriz. Yalnız dwr.xml de kullanacağımız versiyonla jar'ın versiyon uyumluluğu önemli. Buna dikkat edelim. Ben dwr 2 kullanacağım bu örnekte.
İndirme Adresi : http://directwebremoting.org/dwr/downloads/index.html
3) Aşağıdaki kodları web.xml'imize ekliyoruz. Bu yukarıda bahsettimiz DWR'ın ilk kısmına karşılık gelmekte aslında. Burada DwrServlet’imizi tanımlıyoruz.
dwr-invoker org.directwebremoting.servlet.DwrServlet activeReverseAjaxEnabled true debug true crossDomainSessionSecurity false allowScriptTagRemoting true 1 dwr-invoker /dwr/*
4) web.xml ile aynı dizinde bulunan bir dwr.xml dosyası oluşturuyoruz. Web.xml'e eklediğimiz servlet name (dwr-invoker)kısmı aslında bu .xml’inde ismini belirlemekte. Buna dikkat edelim. Aşağıdaki kodları dwr.xml'e ekleyelim. Dwr DwrEngine isimli java clasımızı .js uzantılı bir JavaScript'e dönüştürecek.
5) dwr.xml'de kullandığımız DwrEngine adlı java clasımızı oluşturuyoruz.
package com.ahmetboz.dwr; /** * * @author ahmet.boz */ public class DwrEngine { public DwrEngine(){} public String deneme() { return "Hello"; } }
Şu durumda dwr'ı kullanabilir durumdayız. Uygulamamızı çalıştırıp
http://localhost:8080/[YOUR-WEBAPP]/dwr/ adresini yazarsanız dwr.xml'de tanımladığımız class ve metodların listesini görebiliriz.
6) Son olarak arayüzümüzü oluşturuyoruz ve dwr'ı deniyoruz.. Ben basit bir şekilde DwrEngine'den gelen mesajı alert ile ekrana bastırıyorum.
<%@ page contentType="text/html; charset=UTF-8"%> <%@ page contentType="text/html; charset=UTF-8"%>
DWR Say Hello |
Teşekkürler hocam, Elinize sağlık.
YanıtlaSil