Servlet Ders04 - RequestDispatcher
RequestDispatcher arayüzü bir isteği başka bir kaynağa yönlendirmeye veya isteğe bir kaynak eklemeye yarar.
Yönlendirme işlemi forward,
Kaynak ekleme işlemi include fonksiyonu ile yapılır.
Ön Bilgi
//RequestDispatcher nesnesi oluşturup kaynağı oraya yönlendirme
RequestDispatcher rd=request.getRequestDispatcher("/x.html");
rd.forward(request, response);
//RequestDispatcher nesnesi oluşturup ilgili kaynağı sayfaya dahil etme
RequestDispatcher rd=request.getRequestDispatcher("/x.html");
rd.include(request, response);
Servlet.java
package test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; 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("/Servlet") public class Servlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out=response.getWriter(); String ad=request.getParameter("ad"); String sifre=request.getParameter("sifre"); RequestDispatcher rd; if(ad.equals("enes")&sifre.equals("1234")){ rd=request.getRequestDispatcher("/dogru.html"); rd.forward(request, response); } else{ rd=request.getRequestDispatcher("/index.html"); rd.include(request, response); out.println("yanlis"); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>RequestDispatcher</title> </head> <body> <form action="Servlet" method="post"> Ad<br/> <input type="text" name="ad"/><br/><br/> Şifre<br/> <input type="password" name="sifre"/><br/><br/> <input type="submit" value="gonder"/> </form> </body> </html>
dogru.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Dogru</title> </head> <body> <h1>Dogru</h1> </body> </html>
Açıklamalar
@WebServlet("/Servlet")
//Bu Servlet urlsinin /Servlet olacağını belirtir.
response.setContentType("text/html");
//response içerik tipinin text/html türünde olduğunu belirtir 
PrintWriter out=response.getWriter();
//out nesnesi server tarafından çıktı üretilmek için oluşturulur.
request.getParameter("x");
//Formda girilen name="x" isimli parametrenin değerini alabilmek için kullanılır.
//RequestDispatcher nesnesi oluşturup kaynağı oraya yönlendirir.
RequestDispatcher rd=request.getRequestDispatcher("/x.html");
rd.forward(request, response);
//RequestDispatcher nesnesi oluşturup ilgili kaynağı sayfaya dahil eder.
RequestDispatcher rd=request.getRequestDispatcher("/x.html");
rd.include(request, response);




 
 
 
Yorumlar
Yorum Gönder