sendRedirect()
metode omdirigerer svaret til en annen ressurs. Denne metoden gjør faktisk klienten (nettleser) for å opprette en ny forespørsel om å komme til ressursen. Klienten kan se den nye nettadressen i nettleseren.
sendRedirect() godtar relativ URL, så det kan gå for ressurser i eller utenfor serveren.
Servlet: sendRedirect () Og Request Dispatcher
hovedforskjellen mellom en omadressering og en forespørsel forsendelse er at omdirigering gjør at klienten (nettleseren) oppretter en ny forespørsel om å komme til ressursen.
også, en annen svært viktig forskjell er at sendRedirect() fungerer på response object mens be om utsendelse arbeid på forespørsel objekt.
Eksempel som viser bruk av sendRedirect()
import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { response.sendRedirect("https://www.studytonight.com"); } finally { out.close(); } }}
Forskjellen mellom forward () og sendRedirect()
fremover () | sendRedirect() |
---|---|
det fungerer på server side. | det fungerer på klientsiden. |
den sender alltid samme forespørsel og svarobjekt. | den sender alltid ny forespørsel om objektet. |
det fungerer bare innenfor serveren. | det fungerer både innenfor og utenfor serveren. |
i denne metoden håndteres all behandling av web container internt. | i denne metoden håndteres all behandling av en annen servlet. |
det er raskere. | det er tregere. |
Ved hjelp av forward () metode adresse kan sees i adresselinjen. | bruke forward () – metoden adresse kan ikke ses i adresselinjen. |
RequestDispatcher-grensesnittet brukes til deklarasjon. | HttpServletResponse brukes til deklarasjon. |
det er veldig nyttig I MVC design mønster for å skjule direkte tilgang. | det er ikke nyttig I MVC design mønster for å skjule direkte tilgang. |
det gjenbruker objektet. | objektet gjenbrukes ikke. |
Eksempel: forespørsel.getRequestDispacher («servlet_1»).videresend (forespørselsrespons); | Eksempel: svar.sendRedirect («Servlet_1»); |