Java Servlet - Dispatcher Kavrami

Bu makalemizle Java Servlet’te RequestDispatcher kavramini uygulamalarla birlikte inceleyecegiz.
RequestDispatcher yontemi ; istek aninda baska jsp yada servlet sayfalarini yonlendirmek icin kullanilir. Java Servlet basit bir parametre ile birlikte aldigi web sayfasini, nitelikleri ile birlikte hedef sayfaya ulastiracaktir. Kisacasi bir servlet'ten diger servlet'e yonlendirilme olarakta soyleyebiliriz.
Uygulamamiza gecmeden once var olan projemizde yeni bir servlet sinifi olusturuyoruz. Ve ismini KontrolServlet veriyoruz.
KontrolServlet'imizi diger servlet'lerle iletisime gecebilmesi icin uc farkli servlet daha olusturuyoruz. Uygulamaya ornek olarak ; musteriler, urunler, diger olarak isim verebiliriz. Yine bir onceki uygulamamizda doGet ve doPost metodlarimizi cagiriyoruz. burada onemli olan doPost icerisinde yazacagimiz kodlardir.
Onceki makalemdede anlattigim gibi yine sayfamizi talep edebilmemiz icin string veri tipinde sayfa degiskenini olusturuyoruz. Daha sonra If blogu uzerinde talebe gore vermesi gereken yanitlari belirtiyoruz. Request ile talebimizi baslatip, getRequestDispatcher yani sevk edilecegi sayfayi belirtip, forward ile de talep ve yanitin yapilmasi icin HTTPServlet'e kodlarimizi yonlendirme islemlerini tamamlamis oluyoruz.
KontrolServlet.Java Kodlari ;
package Servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "KontrolServlet", urlPatterns = {"/KontrolServlet"})
public class KontrolServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String sayfa = request.getParameter("sayfa");
if(sayfa.equals("urunler"))
{
request.getRequestDispatcher("urunler").forward(request, response);
}
else if(sayfa.equals("musteriler"))
{
request.getRequestDispatcher("musteriler").forward(request, response);
}
else
{
request.getRequestDispatcher("diger").forward(request, response);
}
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Index.Jsp Kodlari ;
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Servlet Konuları...</h1>
<a href="KontrolServlet?sayfa=urunler">Urunlere Git</a>
<br> <a href="KontrolServlet?sayfa=musteriler">Musteriler Git</a>
<br> <a href="KontrolServlet?sayfa=diger">Diger Git</a>
</body>
</html>
Ekran Goruntuleri ;
Urunler.Java Servleti ;
Musteriler.Java Servleti ;
Diger.Java Servleti ;
Keyifli Calismalar Dilerim...
Yorumlar