Sobes.tech
Junior

Request Dispatcher nədir?

sobes.tech Süni İntellekt

AI-dan cavab

RequestDispatcher Java Servlet API-də interfeysdir və sorğunu başqa bir resursa (məsələn, başqa servlet, JSP və ya HTML faylı) yönləndirmək üçün istifadə olunur. O, iki metod təqdim edir: forward()include().

Metodlar:

  • forward(ServletRequest request, ServletResponse response):

    • Sorğu və cavab üzərində tam nəzarəti göstərilən resursa keçirir.
    • Əsas servlet işləməni dayandırır.
    • Brauzerin ünvan sətrində URL dəyişmir.
    • Tam işləməyi başqa resursa həvalə etmək üçün istifadə olunur.
  • include(ServletRequest request, ServletResponse response):

    • Mövcud servletin cavabına göstərilən resursun məzmununu daxil edir.
    • Daxil etdikdən sonra əsas servlet işləməyə davam edir.
    • Brauzerin ünvan sətrində URL dəyişmir.
    • Bir neçə resursun cavabın yaradılmasında iştirak etməsinə imkan verir.

RequestDispatcher əldə etmək:

Ya ServletContext obyektindən, ya da ServletRequest obyektindən əldə edilə bilər.

  • ServletContext-dən:
    // context path - tətbiq daxilində başqa resursa yol
    RequestDispatcher rd = getServletContext().getRequestDispatcher("/anotherServlet");
    
  • ServletRequest-dən:
    // nisbi yol - başqa resursa nisbi yol
    RequestDispatcher rd = request.getRequestDispatcher("/anotherServlet");
    

forward()include() arasındakı fərqlər:

Kriteriya forward() include()
Cavabın idarə olunması Tamamilə hədəf resursa keçir. Hədəf resursun cavabı mövcud cavaba əlavə olunur.
İcrası Əsas servlet icra etməyi dayandırır. Əsas servlet icra etməyə davam edir.
URL Brauzerin ünvan sətrində dəyişmir. Brauzerin ünvan sətrində dəyişmir.
İstifadə İşləmənin vəzifəsini həvalə etmək, yönləndirmək. Məzmunu daxil etmək, cavabı tərtib etmək.

RequestDispatcher mürəkkəb veb tətbiqlərinin qurulmasında vacib vasitədir, sorğu işləmə məntiqini strukturlaşdırmağa və komponentləri yenidən istifadə etməyə imkan verir.