Wenn wir im Internet surfen, müssen wir häufig Informationen an den Server übermitteln und diese vom Hintergrundprogramm verarbeiten lassen. Der Browser verwendet die Methoden GET und POST, um Daten an den Server zu übermitteln.
Die GET-Methode fügt die angeforderten Codierungsinformationen nach der URL hinzu, und die URL und die Codierungsinformationen werden durch ein „?“ getrennt. Wie unten gezeigt:
//www.w3cschool.cn/hello?key1=value1&key2=value2
Die GET-Methode ist die Standardmethode für Browser zur Übergabe von Parametern. Es wird empfohlen, die GET-Methode nicht für einige vertrauliche Informationen wie Passwörter zu verwenden.
Bei Verwendung von get ist die Größe der übertragenen Daten begrenzt (beachten Sie, dass die Anzahl der Parameter nicht begrenzt ist) und beträgt maximal 1024 Byte.
Wir können einige vertrauliche Informationen, wie z. B. Passwörter, über die POST-Methode weitergeben, und die Post-Übermittlungsdaten sind implizit.
Die von POST übermittelten Daten sind unsichtbar und GET wird in der URL übergeben (Sie können in der Adressleiste Ihres Browsers nachsehen).
JSP verwendet getParameter(), um die übergebenen Parameter abzurufen, und die Methode getInputStream() wird verwendet, um die binäre Datenstromanforderung des Clients zu verarbeiten.
getParameter(): Verwenden Sie die Methode request.getParameter(), um den Wert des Formularparameters abzurufen.
getParameterValues(): Daten wie die Checkbox-Klasse abrufen (gleicher Name, aber mehrere Werte). Empfangen Sie Array-Variablen, z. B. den Kontrollkästchentyp
getParameterNames(): Diese Methode kann die Namen aller Variablen abrufen. Diese Methode gibt eine Emumeration zurück.
getInputStream(): Rufen Sie diese Methode auf, um den binären Datenstrom vom Client zu lesen.
Das Folgende ist eine einfache URL und verwendet die GET-Methode, um die Parameter in der URL zu übergeben:
http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI
Das Folgende ist das JSP-Programm der Datei main.jsp zum Verarbeiten der vom Client übermittelten Formulardaten. Wir verwenden die Methode getParameter (), um die übermittelten Daten abzurufen:
<html><head><title>Verwenden der GET-Methode zum Lesen von Formulardaten</title></head><body><center><h1>Verwenden der GET-Methode zum Lesen von Formulardaten</h1><ul><li> <p><b>Vorname:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>Nachname:</b> <%= request.getParameter("last_name")%></p></li></ul></body></html>
Als nächstes greifen wir über den Browser auf http://localhost:8080/main.jsp?first_name=ZARA&last_name=ALI zu. Die Ausgabeergebnisse sind wie folgt:
Verwenden der GET-Methode zum Lesen von FormulardatenVorname: ZARANachname: ALI
Das Folgende ist ein einfaches HTML-Formular, das Clientdaten über die GET-Methode an die Datei main.jsp sendet:
<html><body><form action="main.jsp" method="GET">Vorname: <input type="text" name="first_name"><br />Nachname: <input type="text " name="last_name" /><input type="submit" value="Submit" /></form></body></html>
Speichern Sie den obigen HTML-Code in der Datei Hello.htm. Platzieren Sie diese Datei im Verzeichnis /webapps/ROOT. Beim Zugriff auf http://localhost:8080/Hello.htm sieht die Ausgabeschnittstelle wie folgt aus:
Geben Sie die Informationen in die Formulare „Vorname“ und „Nachname“ ein und klicken Sie auf die Schaltfläche „Senden“. Die Ergebnisse werden ausgegeben.
Als nächstes verwenden wir die POST-Methode, um Formulardaten zu übertragen und die Dateicodes main.jsp und Hello.htm wie folgt zu ändern:
main.jsp-Dateicode:
<html><head><title>Verwenden der GET- und POST-Methode zum Lesen von Formulardaten</title></head><body><center><h1>Verwenden der GET-Methode zum Lesen von Formulardaten</h1><ul>< li><p><b>Vorname:</b> <%= request.getParameter("first_name")%></p></li><li><p><b>Nachname:</ b> <%= request.getParameter("last_name")%></p></li></ul></body></html>
Das Folgende ist der geänderte Code von Hello.htm:
<html><body><form action="main.jsp" method="POST">Vorname: <input type="text" name="first_name"><br />Nachname: <input type="text " name="last_name" /><input type="submit" value="Submit" /></form></body></html>
Greifen Sie über den Browser auf http://localhost:8080/Hello.htm zu. Die Ausgabe lautet wie folgt:
Geben Sie die Informationen in die Formulare „Vorname“ und „Nachname“ ein und klicken Sie auf die Schaltfläche „Senden“. Die Ergebnisse werden ausgegeben.
Das Kontrollkästchen Kontrollkästchen kann eine oder sogar mehrere Daten übergeben.
Das Folgende ist ein einfacher HTML-Code. Speichern Sie den Code in der Datei CheckBox.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" reviewed="checked" /> Maths<input type= "checkbox" name="physics" /> Physik<input type="checkbox" name="chemistry"scribed="checked" /> Chemie<input type="submit" value="Subjekt auswählen" /></form> </body></html>
Das Folgende ist der Dateicode main.jsp, der zum Verarbeiten von Kontrollkästchendaten verwendet wird:
<html><head><title>Checkbox-Daten lesen</title></head><body><center><h1>Checkbox-Daten lesen</h1><ul><li><p><b>Mathe-Flag :</b> <%= request.getParameter("maths")%></p></li><li><p><b>Physik-Flag:</b> <%= request.getParameter("physics")%></p></li><li><p><b>Chemie-Flag:</b> <%= request.getParameter("chemistry")%></p ></li></ul></body></html>
Das Ausgabeergebnis des obigen Beispiels ist:
Im Folgenden verwenden wir getParameterNames() von HttpServletRequest, um alle verfügbaren Formularparameter zu lesen. Diese Methode gibt eine Emumeration zurück.
Sobald wir eine Enumeration haben, können wir die Methode hasMoreElements() aufrufen, um zu bestimmen, wann die Verwendung beendet werden soll, und die Methode nextElement() aufrufen, um den Namen jedes Parameters abzurufen.
<%@ page import="java.io.*,java.util.*" %><html><head><title>HTTP-Header-Anforderungsbeispiel</title></head><body><center><h2 >HTTP-Header-Anforderungsbeispiel</h2><table align="center"><tr bgcolor="#949494"><th>Param-Name</th><th>Param-Wert(e)</th></tr ><% Enumeration paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()) { String paramName = (String)paramNames.nextElement(); out.print("<tr><td>" + paramName + "</td>n "); String paramValue = request.getParameter(paramName); out.println("<td> " + paramValue + "</td></tr>n"); }%></table></center></body></html>
Das Folgende ist der Inhalt der Datei Hello.htm:
<html><body><form action="main.jsp" method="POST" target="_blank"><input type="checkbox" name="maths" reviewed="checked" /> Maths<input type= "checkbox" name="physics" /> Physik<input type="checkbox" name="chemistry"scribed="checked" /> Chem<input type="submit" value="Subjekt auswählen" /></form> </body></html>
Jetzt greifen wir über den Browser auf die Datei Hello.htm zu und übermitteln die Daten. Die Ausgabe lautet wie folgt:
Sie können versuchen, den obigen JSP-Code zu verwenden, um andere Objekte wie Textfelder, Optionsfelder oder Dropdown-Felder und andere Datenformen zu lesen.