Heim >Web-Frontend >js-Tutorial >Zusammenfassung der Wertübertragungsmethoden zwischen JSP-Seiten

Zusammenfassung der Wertübertragungsmethoden zwischen JSP-Seiten

韦小宝
韦小宝Original
2018-01-18 09:55:152177Durchsuche

Das Übergeben von Parametern zwischen JSP-Seiten ist eine häufig verwendete Funktion. Manchmal ist es erforderlich, Parameter zwischen mehreren JSP-Seiten zu übergeben. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zur Methode zum Übergeben von Werten zwischen JSP-Seiten ein. Was im Artikel vorgestellt wird, ist sehr detailliert und hat einen gewissen Referenz- und Lernwert für alle Freunde, die sich für JSP interessieren, sollte es unten gemeinsam lesen.

Vorwort

Die Übergabe von Parametern zwischen JSP-Seiten ist in Projekten häufig erforderlich. Dies sollte als grundlegende Fähigkeit des Webs angesehen werden. Versuchen Sie, verschiedene Methoden zusammenzufassen. Bei Bedarf können Sie die Vor- und Nachteile abwägen und die am besten geeignete Methode auswählen. Werfen wir einen Blick auf die ausführliche Einführung:

1 Anhängen von Parametern nach dem URL-Link

<a href="next.jsp?paramA=A&paramB=B..." rel="external nofollow" >URL 后面追加参数</a>

<jsp:include page="next.jsp"><jsp:param name="paramA" value="A"/></jsp:include> 

<jsp:forward page="next.jsp"><jsp:param name="paramA" value="B"/></jsp:forward> 

response.sendRedirect("next.jsp?paramA=A&paramB=B...")

window.location = "next.jsp?paramA=A&paramB=B..."

Beim Ausführen der oben genannten Codes, Springt zur next.jsp-Seite mit Parametern.

Der Weg, um die entsprechenden Parameter auf der next.jsp-Seite abzurufen, ist wie folgt:

//内嵌的 java 代码
<%String paramA = request.getParameter("paramA"); %>

//如果引入了 EL
{param.paramA}

Vorteile: Einfachheit und Multi- Browserunterstützung (Kein Browser unterstützt keine URL).

Nachteile:

1) Die übertragenen Daten können nur String sein, sowohl vom Datentyp als auch von der Größe. Bestimmte Einschränkungen ;

2) Der Wert der übertragenen Daten wird in der Adressleiste des Browsers angezeigt und die Sicherheitsstufe ist niedrig.

2. Formular

 <form action="next.jsp" method="post"> 
  <input type="text" name="paramA" value="A"> 
  <input type="hidden" name="paramB" value="B"> 
  <input type="submit" value="提交"> 
 </form>

Die Methode zum Abrufen der entsprechenden Parameter auf der next.jsp-Seite ähnelt (1).

Vorteile:

1) Einfachheit und Multi-Browser-Unterstützung (auch kein Browser unterstützt kein Formular);

2) Kann eingereicht werden Die Datenmenge ist viel größer als bei der URL-Methode.

3) Der übertragene Wert wird in der Adressleiste des Browsers angezeigt, aber mit etwas Hack kann die Parameterliste auch aus der Seitenquelle erstellt werden Code;

Nachteile:

1) Die übertragenen Daten können nur Zeichenfolgen sein und es gibt bestimmte Einschränkungen hinsichtlich der Datentypen;

3. Setzen Sie

CookieMithilfe der Authentifizierungsdaten des Clients kann natürlich auch ein kleiner Cookie die Wertübertragung der JSP-Seite realisieren.

Wenn Sie Cookies auf der Seite next.jsp lesen möchten, müssen Sie die Methode

aufrufen, um einen Javax zu erhalten.<a href="http://www.%20php.cn/wiki%20/1516.html" target="_blank">servlet<pre class="brush:php;toolbar:false"> &lt;% Cookie c=new Cookie(&quot;paramA&quot;,&quot;A&quot;); c.setMaxAge(60*60); //cookie 有效期1分钟 response.addCookie(c); //将cookie 添加到 http响应中 %&gt;</pre>.http.Cookie </a> Array von Objekten.

request.getCookies() Dann durchlaufen Sie dieses Array und verwenden Sie die javax.<a href="http://www.php.cn/wiki/1516.html" target="_blank">servlet</a>.http.Cookie -Methode und die

-Methode, um den Namen und den Wert jedes Cookies zu erhalten.

getName()getValue()

Vorteile:
//内嵌的 java 代码
<%
 Cookie cookie = null;
 // 获取cookies的数据,是一个数组
 Cookie[] cookies = request.getCookies();
 if(cookies != null ){
  for (int i = 0; i < cookies.length; i++){
   cookie = cookies[i];
   out.print("参数名 : " + cookie.getName());
   out.print("<br>");
   out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
   out.print("------------------------------------<br>");
  }
 }else{
  out.println("<h2>没有发现 Cookie</h2>");
 }
%>

//EL 获取方式
${cookie.paramA.value}

1) Der Wert des Cookies kann bestehen bleiben, auch wenn der Client-Computer geschlossen ist werden beim nächsten Öffnen abgerufen ;

2) Cookies können dem Server helfen, mehrere Statusinformationen zu speichern, erfordern jedoch nicht, dass der Server Speicherressourcen speziell zuweist, wodurch die Belastung des Servers verringert wird.

Nachteile:

1) Obwohl die Sicherheit im Vergleich zu URL und Formular deutlich verbessert ist, gibt es auch schwarze Wege, um Kundencookies zu erhalten und Kundeninformationen preiszugeben.

4. Einstellungen

SitzungIch persönlich denke, dass Sitzung und Cookie auf der Serverseite und auf dem Client liegen Seite.

Nach dem Hinzufügen von Schlüssel-Wert-Paaren ermöglicht es nicht nur die Übertragung zwischen Seiten, sondern ist tatsächlich eine Lösung für den Datenaustausch.

So lesen Sie die Sitzung in next.jsp:

 <%  
 session.setAttribute("paramA","A"); 
 response.sendRedirect("next.jsp"); 
 %>

Die Vor- und Nachteile von Session können auf Cookie verwiesen werden.

//内嵌java 片段
<%=session.getAttribute("paramA") %>

//EL 获取方式
{session.paramA}
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er kann jedem beim Lernen helfen! !

Verwandte Empfehlungen:

Ausführliche Erklärung, wie man direkt auf die JSP-Seite im WEB-INF-Verzeichnis zugreift

Wie man dorthin springt eine neue Ajax-Implementierungsmethode der JSP-Seite

Methode der Funktionsbezeichnung EL-Ausdruck-Betriebszeichenfolge, die von JSTL in JSP bereitgestellt wird

Das obige ist der detaillierte Inhalt vonZusammenfassung der Wertübertragungsmethoden zwischen JSP-Seiten. 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