(1). Forward()-Methode Verwenden Sie die Klasse javax.servlet.RequestDispatcher RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar, requestVar); Übergeben Sie die Eingabeparameter des Servlets Nämlich: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar);
Es gibt vier Möglichkeiten, serverseitige Servlets zu drehen: 1. getRequestDispatcher() für ServletContext 2. getNamedDispatcher() für ServletContext 3. getRequestDispatcher() für ServletRequest 4. ServletResponses sendredirect() zum Steuern. Vorwärtsmethode, weil diese effizienter sind. Verwenden Sie die sendredirect()-Methode von servletresponse nur, wenn die Weiterleitungsmethode nicht verfügbar ist.
(2).response.sendRedirect(url); Tatsächlich sendet er einen speziellen Header an den Browser, und der Browser wechselt dann zur angegebenen Seite, sodass man bei der Verwendung von sendRedirect die Adressänderung in der Adressleiste des Browsers sehen kann. Die neue Seite kann den Seitenkontext (Anfrage, Antwort,... der alten Seite nicht verarbeiten. Objekt. response.sendRedirect sollte von einer Return gefolgt werden;
(3). Automatischer Sprung zur HTML-Sprache <html> <head> <meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 ist die Wartezeit, wenn sie auf 5 gesetzt ist, bedeutet das, dass der Sprung nach dem Warten von 5 Sekunden beginnt </head> …………
(4). JavaScript-Sprung Ein: <script languate="javascript"> window.location.replace("http://www.baidu.com"); </script> B: Du kannst auch direkt einen Wert dem window.location-Attribut window.location="url" zuweisen, was sich von A dadurch unterscheidet, dass es eine Historie hat C: <script languate="javascript"> document.location.href("http://www.google.com"); </script> Für Document ist location kein Objekt, document.location=document.url Die Methoden forward(), back() und go() des D:history-Objekts erfordern einen Shaping-Eingabeparameter <a href="javascript:history.go(-1)" > zum vorherigen Schritt zurückgehen</a> Äquivalent zu <a href="javascript:history.back()" > zum vorherigen Schritt zurückkehren zum vorherigen Schritt zurückkehren</a> E: document.formName.action="test.jsp"; document.formName.submit(); JS-Commit-Methode Der erste Typ: <Skriptsprache="JavaScript" Typ="Text/JavaScript"> window.location.href="login.jsp?backurl="+window.location.href; </script> Der zweite Typ: <skriptsprache="javascript"> alert("return"); window.history.back(-1); </script> Der dritte Typ: <skriptsprache="javascript"> window.navigate("top.jsp"); </script> Der vierte Typ: <script language="JavaScript"> self.location='top.htm'; </script> Der fünfte Typ: <skriptsprache="javascript"> alert("Illegaler Zugriff!") ); top.location='xx.jsp'; </script>
(5). <jsp:forward page="nextpage.jsp"/> Wie: <jsp:forward page="/servlet/login" /> <jsp:Weiterleitungsseite="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:forward> <jsp:forward> Tag übergibt ein Anforderungsobjekt, das eine Benutzeranfrage enthält, von einer JSP-Datei an eine andere. <jsp:forward>Tag wird nicht ausgeführt. Du kannst das Tag <jsp:param> verwenden, um Parameter und Werte in die Objektdatei zu übertragen, die eine dynamische Datei sein muss, die Parameter verarbeiten kann. Wenn du ungepufferte Ausgabe verwendest, sei vorsichtig bei <jsp:forward>. Wenn die JSP-Datei bereits Daten enthält, bevor du <jsp:forward> verwendest, wird die Dateiausführung falsch sein. JSP-Seitensprungmethodensammlung 1. response.sendRedirct("Zur Seite springen"); Diese Methode modifiziert den HEADER-Teil des HTTP-Protokolls, um dem Browser einen Redirect-Befehl zu geben, sodass der Browser den Inhalt der Redirect-Webseite anzeigt. Die Anfrage kann den Wert nicht weitergeben. Führe den gesamten Code auf der Seite aus, bevor du zur Seite springst. Springe zur Adressleiste, um zu wechseln. Du kannst auf einem anderen Server zur Seite response.sendRedirct(http://www.sun.com) springen. 2.response.setHeader(); Diese Methode, ähnlich wie response.sendRedirect, erfolgt durch Änderung des HEADER-Teils des HTTP-Protokolls. <% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); Schnur newLocn="/index.html"; response.setHeader ("Location",newLocn); % > 3.<jsp:forward page="page springen"/> Diese Methode nutzt den Mechanismus des Servers, um zuerst Daten an den Puffer auszugeben; bevor der Inhalt des Puffers an den Client gesendet wird, sendet das Original nicht, sondern stattdessen den Inhalt der Seite. Wenn vor <jsp:forward> viel Ausgabe vorhanden ist, der vorherige Output den Puffer voll gemacht hat und automatisch an den Client ausgegeben wird, funktioniert die Anweisung nicht; dies sollte besonders beachtet werden. Die Anfrage kann den Wert weiterleiten. Springen Sie direkt zur Seite, der folgende Code wird nicht ausgeführt. Die Adressleiste bleibt nach dem Sprung unverändert. Ich kann nicht auf eine Seite auf einem anderen Server springen. Das Bild ist kein absoluter Weg, der nicht angezeigt werden kann. 4. request.getRequestDispatcher ("Zur Seite springen"); Die Anfrage kann den Wert weiterleiten. Führe den gesamten Code auf der Seite aus, bevor du zur Seite springst. Die Sprungadressleiste bleibt unverändert. Du kannst nicht auf eine Seite auf einem anderen Server springen <% RequestDispatcher rd = request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %> Es gibt drei Möglichkeiten, die Ausgabe umzuleiten: RESPONSE. SETREDERECT("URL") Diese Methode verändert den HEADER-Teil des HTTP-Protokolls, um einen Redirect-Befehl an den Browser zu senden, sodass der Browser den Inhalt der umgeleiteten Webseite anzeigt. response.sendRedirect("http://localhost:7001/index.html"); Die folgende Methode kann auch die Eigenschaft HTTP HEADER ändern, die genauso funktioniert wie 1. <%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String newLocn="/index.html"; response.setHeader("Location",newLocn); % > < JSP:FORWORD > wird übernommen Diese Methode nutzt den Mechanismus des Servers, um zuerst Daten an den Puffer auszugeben; bevor der Pufferinhalt an den Client gesendet wird, sendet das Original nicht, sondern stattdessen den Inhalt der Seite. Wenn vor <JSP:FORWORD> viel Ausgabe vorhanden ist, hat die vorherige Ausgabe den Puffer gefüllt und wird automatisch an den Client ausgegeben, funktioniert die Anweisung nicht, dies sollte besonders beachtet werden. Es gibt drei Möglichkeiten, eine weitere JSP-Seite innerhalb einer JSP-Seite zu verschachteln: 1. Mit <%@include file="header.jsp"%> kann diese Methode nur statisches Seitenladen erreichen und wird am häufigsten verwendet, um das Laden von allgemeinen Seitenkopf-header.jsp und footer.jsp in einem Projekt zu realisieren. 2. Mit <%@include page="tt.jsp"%> kann diese Methode ein dynamisches Seitenladen ermöglichen, muss jedoch Parameter an die Seite weitergeben; 3. Lade eine weitere JSP-Seite auf die Seite mit <iframe src="jsp's path" >, was ein Inline-Framework ist. Wenn du Weiterleitung benutzt, um den Parameter weiterzugeben, schreibe ihn so: <%String str="Du bist eingeloggt!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/> </jsp:forward> |