Пренасочване между Servlet и JSP
Интерфейсът RequestDispatcher
Интерфейсът RequestDispatcher
предоставя възможност за изпращане на заявката до друг сървурен ресурс, той може да бъде html, servlet или jsp. Този интерфейс може да се използва и за включване на съдържанието на друг ресурс. Това е един от начините на връзка между servlet.
Има два метода, дефинирани в интерфейса RequestDispatcher:
forward(request, response)
- Препраща заявка от сервлет към друг ресурс (servlet, JSP файл или HTML файл) на сървъра.include(request, response)
- Към отговора се включва съдържанието на друг ресурс (servlet, JSP страница или HTML файл).
Използване на обекта RequestDispatcher
getRequestDispatcher()
на интерфейса ServletRequest връща обекта на RequestDispatcher. Приема адреса до ресурса към който ще се пренасочи.
Интерфейсът SendRedirect
sendRedirect()
- на HttpServletResponse интерфейсa може да се използва за пренасочване на отговор към друг ресурс, може да бъде servlet, jsp или html файл.
Приема относителen, както и абсолютен URL адрес.
Той работи от страна на клиента, защото използва URL лентата на браузъра, за да направи друга заявка. Така че може да се пренасочи към ресурс на сървъра или ресурс на друг сървър.
Разлика между метода forward() и sendRedirect()
forward() метод
sendRedirect() метод
forward() работи от страна на сървъра
sendRedirect() работи от страна на клиента
Изпраща същите обекти на request и response на друг сървлет
Винаги се изпраща нов request
Работи само в рамките на сървъра
Използва се и извън сървъра
Пример: request.getRequestDispacher("servlet2").forward(request,response);
Пример: response.sendRedirect("servlet2");
Last updated
Was this helpful?