Sobes.tech
Junior

Wat is een Request Dispatcher?

sobes.tech AI

Antwoord van AI

RequestDispatcher is een interface in de Java Servlet API, gebruikt om een verzoek door te sturen naar een andere bron (bijvoorbeeld een andere servlet, JSP of HTML-bestand) binnen dezelfde webapplicatie. Het biedt twee methoden: forward() en include().

Methoden:

  • forward(ServletRequest request, ServletResponse response):

    • Geeft volledige controle over het verzoek en de reactie aan de gespecificeerde bron.
    • De oorspronkelijke servlet stopt met verwerken.
    • De URL in de adresbalk van de browser wijzigt niet.
    • Wordt gebruikt om de verwerking volledig aan een andere bron over te dragen.
  • include(ServletRequest request, ServletResponse response):

    • Voegt de inhoud van de gespecificeerde bron toe aan de reactie van de huidige servlet.
    • De oorspronkelijke servlet gaat verder met uitvoeren na de inclusie.
    • De URL in de adresbalk van de browser wijzigt niet.
    • Maakt het mogelijk dat meerdere bronnen deelnemen aan het opbouwen van de reactie.

Het verkrijgen van RequestDispatcher:

Kan worden verkregen uit het ServletContext-object of uit het ServletRequest-object.

  • Van ServletContext:
    // context path - pad naar een andere bron binnen de applicatie
    RequestDispatcher rd = getServletContext().getRequestDispatcher("/anotherServlet");
    
  • Van ServletRequest:
    // relatieve pad - relatieve pad naar een andere bron
    RequestDispatcher rd = request.getRequestDispatcher("/anotherServlet");
    

Verschillen tussen forward() en include():

Criteria forward() include()
Controle over reactie Wordt volledig overgedragen aan de doelbron. De reactie van de doelbron wordt toegevoegd aan de huidige.
Uitvoering De oorspronkelijke servlet stopt met uitvoeren. De oorspronkelijke servlet gaat verder met uitvoeren.
URL Wijzigt niet in de adresbalk van de browser. Wijzigt niet in de adresbalk van de browser.
Gebruik Delegatie van verwerking, doorverwijzing. Insluiting van inhoud, samenstellen van reactie.

RequestDispatcher is een belangrijk hulpmiddel voor het bouwen van complexe webapplicaties, waarmee de verwerking van verzoeken gestructureerd kan worden en componenten hergebruikt kunnen worden.