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() və 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() və 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.