Servlet redirect
resp.sendRedirect("/myurl");
req.getSession().setAttribute("foo", "bar");
In diesem Fall habe ich Zugriff auf das foo-Attribut nach der Umleitung?
Auf allgemein gesprochen, ein servlet wird vollständig ausgeführt, bevor der redirect gemacht wird oder es Stoppt es die Ausführung nach der Umleitung Linie?
Dank
- Aus meiner persönlichen Erfahrung, es sollte angemerkt werden, dass nach
sendRedirect
aufgerufen wurde, die Antwort, die begangen worden ist, so dass keine weiteren änderungen zu der Antwort führt zu einer exception geworfen. Deshalb ist Ihre Funktion solltereturn
sobald Sie angerufen habensendRedirect
. - Verwandte: stackoverflow.com/questions/2123514/...
- Ich Stimme mit @Hamed; es ist verwirrend, um die Verarbeitung fortzusetzen, obwohl, wenn Sie nicht ändern die Antwort, Sie können.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es setzt die Ausführung Fort.
Es ist nicht eine
return
, es fügt nur Informationen zur Reaktion.nach der Weiterleitung zu dieser Seite, die Steuerung geht auf diese Seite und kommen zurück zur alten Seite und führen der erf.getSession().setAttribute("foo", "bar"); auch. dies ist die sendRedirect() bahaviour
Fand ich heraus, einen allgemeineren Ansatz, dass arbeitet für jsp-Dateien als auch für servlets.