Dispatcher Servlet Kullanımı

Bu yazımda Dispatcher Servlet kullanımı hakkında olacaktır.Dispatcher Servlet bize bir servlet içerisinden başka bir servlete erişmemizi sağlıyor.Kontrol isminde bir servletimiz olduğunu düşünelim.Bu servletimiz bize kontrol işlemi yapıyor ve duruma göre diğer servletlere yönlendirme işlemi yapıyor. Dispatcher servlet bize kullanıcının farkına varmadan yani linkte herhangi bir değişme olmadan başka bir servlet’te işlem yaptırıyoruz.Fakat kullanıcı bunun farkına varmıyor.Örnekle açıklamaya çalışalım.
Proje sonunda dosyalarımız aşağıdaki şekilde olacaktır.
Dispatcher Servlet Kullanımı
index.jsp” dosyamızı oluşturup içeriğini düzenleyelim.
Dispatcher Servlet Kullanımı
Dispatcher Servlet Kullanımı
Giyim Servletimizi oluşturuyoruz.
Dispatcher Servlet Kullanımı
Aynı şekilde Gida servletimizi oluşturuyoruz.
Ardından yönlendirme yapacağımız KontrolServlet isminde bir servlet oluşturalım.
Dispatcher Servlet Kullanımı
Burada dispatcher servlet olayı devreye giriyor.Linke tıklama işlemi yaptığımda gelen requeste göre iki farklı servlete yönlendirme işlemi yapıyorum.Gelen request gida ise gida ismindeki servlet içerisine request ve response değerlerimi gönderiyorum.Aynı şekilde request giyim ise giyim ismindeki servlet objesi oluşturuyor ve forward metodu ile request ve response değerlerimi Giyim veya Gida servletlerime gönderiyorum.
Dispatcher Servlet Kullanımı
Dispatcher Servlet Kullanımı
Çalıştırdığımızda tıklama işlemine göre Kontrol servleti açıklacaktır ve tıklanan değere göre if koşulundaki servletlerimiz açılacaktır.
Servlet oluştururken değişken oluşturup değerini gönderebiliyoruz.Ufak bir değişiklik yapalım.

request.setAttribute(“isim”,”Enes Boyacı”);
Burada giyim requesti içerisine “isim” adında bir değişken oluşturup içerisindeki değeri “Enes Boyacı” olarak tanımladık.Giyim servlet içerisinde request.getAttribute(“isim”).toString() ile değişkenimizin değerine ulaşabiliriz.

Proje dosyasına buradan ulaşabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir