Bu ornek XMLHttpRequest nesnesinin basit bir kullanımını gostermektedir. Bu ornekte AJAX ile bir Servlet cağrılmakta ve sayfanın belirli bir bolumu gelen sonuca gore guncellenmektedir. Yazı alanına girilen her karakter icin server'a gidilmektedir. Gelen sonuc ile Javascript kullanılarak bir div'in iceriği guncellenmektedir. Servlet girilen yazıyı bold ve italik hale getirip cağırana geri gondermektdir.
Server'da calışan servlet :
01.package com.godoro.ajax.test;
02.
03.import java.io.IOException;
04.import java.io.PrintWriter;
05.import javax.servlet.ServletException;
06.import javax.servlet.http.HttpServlet;
07.import javax.servlet.http.HttpServletRequest;
08.import javax.servlet.http.HttpServletResponse;
09.
10.public class HelloServlet extends HttpServlet finally
22. }
23.
24. @Override
25. protected void doGet(HttpServletRequest request, HttpServletResponse response)
26. throws ServletException, IOException
29.
30. @Override
31. protected void doPost(HttpServletRequest request, HttpServletResponse response)
32. throws ServletException, IOException
35.
36.}
Aşağıdaki satırlarda gorulduğu gibi w parametresi ile gelen değer ve ile bold ve italik hale cevrilmektedir. Bu servleti HelloServlet?w=test şeklinde cağrıdığımızda bize test şeklinde cevap verecektir.
String word=request.getParameter("w");
out.print(""+word+"");
Bu servlet aşağıdaki HTML'de AJAX ile cağrılmıştır :
****** http-*****="Content-Type" content="text/html; charset=UTF-8">
JSP Page
function requestAjax()else if(window.ActiveXObject)
if(req==lisanssız)
req.onreadystatechange = function()
};
var word=document.forms['testForm'].word.value;
req.open("GET","http://localhost:8080/AjaxTest/HelloServlet?w="+word,true);
req.send(lisanssız);
}
***********
[h=1]Hello World![/h]
te her karakter girildiği zaman requestAjax javascript fonksiyonu cağrılacaktır. Bu fonksiyon server'a bağlanacak ve server'dan donen cevabı "result" id'li div'de gosterecektir.
var req = lisanssız;
if(window.XMLHttpRequest)else if(window.ActiveXObject)
ile XMLHttpRequest nesnesi yaratılmıştır. Bu nesne İnternet Explorer ve Firefox'ta farklı yartılması nedeniyle yukarıdaki gibi yaratılmıştır. if(window.XMLHttpRequest)
};
Aşağıdaki satır ile bir AJAX request'i başlatılır. Server'dan cevap alındığında yukarıdaki kod calışacaktır.
req.open("GET","http://localhost:8080/AjaxTest/HelloServlet?w="+word,true);
req.send(lisanssız);
send methodunda herhangi bir veri gondermediği icin parametre olarak "lisanssız" verilmektedir. "GET" bilgi almak , "POST" ise bilgi gondermek icin kullanılmaktadır.