Heim >Java >javaLernprogramm >Mehrere Methoden zum Seitensprung im Java-Servlet

Mehrere Methoden zum Seitensprung im Java-Servlet

巴扎黑
巴扎黑Original
2017-05-21 14:13:061640Durchsuche

Java-Servlet verfügt über mehrere Methoden zum Seitensprung. Freunde, die es benötigen, können sich auf

Servlet beziehen:

Natürlich treten im Servlet allgemeine Sprünge in doGet, doPost und anderen Methoden auf. In.

1) Umleitungsmethode

response.sendRedirect("/a.jsp");

Der Pfad der Seite ist ein relativer Pfad. sendRedirect kann zu jeder Seite springen, nicht unbedingt auf diese Webanwendung beschränkt, wie zum Beispiel:

response.sendRedirect("http://www.jb51.net");

Die Browseradresse Der Balken ändert sich nach dem Sprung.

Wenn Sie den Wert auf diese Weise übergeben möchten, können Sie den Parameter nur in die URL einfügen oder in die Sitzung einfügen. Sie können ihn nicht mit request.setAttribute übergeben.

2) Weiterleitungsmethode

RequestDispatcher Dispatcher = request.getRequestDispatcher("/a.jsp");

dispatcher .forward(request, Response);

Der Pfad der Seite ist ein relativer Pfad. Die Forward-Methode kann nur zu Seiten in dieser Webanwendung springen.

Die Adressleiste des Browsers ändert sich nach dem Sprung nicht.

Verwenden Sie diese Methode zum Springen. Es gibt drei Methoden zum Übergeben von Werten: Parameter, Sitzung, request.setAttribute in der URL

JSP:

1) Response.sendRedirect ( );

ist dasselbe wie Response.sendRedirect() des Servlets.

Out.flush() ist vor dieser Anweisung nicht zulässig. Wenn dies der Fall ist, tritt eine Ausnahme auf:

java.lang.IllegalStateException: Can't sendRedirect() after data has commit to der Client .

bei com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)

...

Die Adressleiste des Browsers ändert sich nach dem springen

Wenn Sie zu einem anderen Host springen möchten, werden die auf diese Anweisung folgenden Anweisungen weiterhin ausgeführt, als ob ein neuer Thread geöffnet würde, aber der Antwortvorgang ist bedeutungslos

Wenn Sie zum selben Host springen möchten, springt die Anweisung nach dieser Anweisung nicht, bis die Ausführung abgeschlossen ist.

🎜>

Diese Anweisung ist nicht zulässig, bevor out.flush() vorhanden ist. Wenn dies der Fall ist, springt die Seite nicht.

Die Adressleiste des Browsers ändert sich nach dem Sprung

Der Sprung erfolgt erst, wenn die auf diese Anweisung folgende Anweisung ausgeführt wird

Das obige ist der detaillierte Inhalt vonMehrere Methoden zum Seitensprung im Java-Servlet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn