JSP Formularverarbeitung
Wir im Internet surfen, oft Sie Informationen an den Server zu übermitteln müssen, und den Daemon-Prozess lassen. Der Browser verwendet die GET und POST-Methode, um Daten an den Server zu senden.
GET-Methode
GET Methode der Informationsanfrage kodiert, auf die URL, URL-Codierung Informationen über das "?" Getrennt durch hinzuzufügen. Wie folgt:
http://www.w3big.com/hello?key1=value1&key2=value2
GET-Methode ist eine Methode der Parameter Standard-Browser, sensible Informationen wie Passwörter und andere nicht zu empfehlen, die GET-Methode zu verwenden, übergeben.
Gewöhnen wird die Größe der Übertragungsdaten begrenzt (beachten Sie die Anzahl der Parameter ist nicht beschränkt), bis zu 1024 Bytes.
POST-Methode
Sensible Informationen wie Passwörter und so können wir die POST-Methode POST geben einreichen Daten implizit.
POST-Daten zu übermitteln nicht sichtbar ist, wird durch das Innere URL übergeben bekommen (Sie können Ihren Browser-Adressleiste zu buchen).
JSP die getParameter () unter Verwendung der übergebenen Parameter zu erhalten, wird getInputStream () -Methode verwendet, um die Anforderung binären Datenstrom von Clients zu verarbeiten.
JSP Formulardaten lesen
getParameter (): Verwenden Sie request.getParameter () -Methode den Wert des Formparameter zu erhalten.
getParameterValues (): Gibt als Checkbox - Klasse (dem gleichen Namen, aber eine Vielzahl von Werten) Daten.Empfangen einer Reihe von Variablen, wie Typ Ankreuzfeld
getParameterNames (): Diese Methode kann die Namen aller Variablen zu erhalten, wobei das Verfahren einen Emumeration zurückgibt.
getInputStream (): Diese Methode wird aufgerufen , den binären Datenstrom von dem Client zu lesen.
Beispiele für die Verwendung des Verfahrens URL GET
Im Folgenden ist eine einfache URL und verwendet die Methode GET-Parameter in der URL zu übergeben:
http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.com
testjsp Adresse für das Projekt.
Das Folgende ist die JSP Programm main.jsp Datei für die Datenverarbeitung Form der Clients, verwenden wir die getParameter () -Methode, um die Daten zu erhalten vorgelegt:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h1>使用 GET 方法读取数据</h1> <ul> <li><p><b>站点名:</b> <%= request.getParameter("name")%> </p></li> <li><p><b>网址:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
Als nächstes besuchen wir den Browser http: // localhost: 8080 / testjsp / main.jsp name = Dieses Tutorial & url = http :? //ww.w3big.com Output Ergebnisse sind wie folgt:
Benutzen Sie das Formular GET-Methode von Beispiel
Im Folgenden ist eine einfache HTML - Formular, das von der GET - Methode übermittelt werden Client - Datendatei main.jsp:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <form action="main.jsp" method="GET"> 站点名: <input type="text" name="name"> <br /> 网址: <input type="text" name="url" /> <input type="submit" value="提交" /> </form> </body> </html>
Speichern Sie die oben HTML-Code in test.htm Datei. Legen Sie die Datei im aktuellen Verzeichnis unter WebContent jsp Projekt (mit main.jsp selben Verzeichnis).
Durch den Besuch http: // localhost: 8080 / testjsp / test.html main.jsp die Formulardaten in einer Datei einreichen, gezeigt Gif Demo unter:
Geben Sie die Informationen in der "Site-Name" und "URL" zwei Formular, und klicken Sie auf die Schaltfläche "Senden", gibt er die Ergebnisse.
Beispiele für die POST-Methode des Formulars
Lassen Sie uns die POST-Methode verwenden, um die Formulardaten zu senden und zu main.jsp Hello.htm Datei Code wie folgt ändern:
main.jsp Datei Code:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h1>使用 POST 方法读取数据</h1> <ul> <li><p><b>站点名:</b> <% // 解决中文乱码的问题 String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8"); %> <%=name%> </p></li> <li><p><b>网址:</b> <%= request.getParameter("url")%> </p></li> </ul> </body> </html>
Code , den wir verwenden , um neue String ((request.getParameter ( "name ")). GetBytes ( "ISO-8859-1"), "UTF-8") Code zu konvertieren, um das Auftreten von chinesischen verstümmelt verhindern.
Hier ist der Code test.htm geändert:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <form action="main.jsp" method="POST"> 站点名: <input type="text" name="name"> <br /> 网址: <input type="text" name="url" /> <input type="submit" value="提交" /> </form> </body> </html>
Durch den Besuch http: // localhost: 8080 / testjsp / test.html main.jsp die Formulardaten in einer Datei einreichen, gezeigt Gif Demo unter:
Checkbox Passdaten zu JSP-Programm
Checkbox Checkbox kann eine noch mehr Daten übergeben.
Im Folgenden ist eine einfache HTML-Code und Code wird in test.htm Datei gespeichert:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3big" /> 本教程 <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="选择网站" /> </form> </body> </html>
Der obige Code im Browser Folgendes zugreifen:
Hier finden Sie main.jsp Datei Code für die Verarbeitung von Datenfeld:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h1>从复选框中读取数据</h1> <ul> <li><p><b>Google 是否选中:</b> <%= request.getParameter("google")%> </p></li> <li><p><b>本教程是否选中:</b> <%= request.getParameter("w3big")%> </p></li> <li><p><b>淘宝是否选中:</b> <%= request.getParameter("taobao")%> </p></li> </ul> </body> </html>
Durch den Besuch http: // localhost: 8080 / testjsp / test.html main.jsp die Formulardaten in einer Datei einreichen, gezeigt Gif Demo unter:
Alle Formparameter
Im Folgenden die HttpServletRequest getParameterNames verwenden () , um alle Parameter der Form zu lesen, kann das Verfahren die Namen aller Variablen erhalten, gibt die Methode eine Aufzählung.
Sobald wir eine Enumeration (Aufzählung) haben, können wir hasMoreElements () -Methode aufrufen, um zu bestimmen, ob es Elemente gibt, und die Verwendung von next () -Methode den Namen der einzelnen Parameter zu erhalten.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <h1>读取所有表单参数</h1> <table width="100%" border="1" align="center"> <tr bgcolor="#949494"> <th>参数名</th><th>参数值</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> </body> </html>
Im Folgenden ist der Inhalt test.htm Datei:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>本教程(w3big.com)</title> </head> <body> <form action="main.jsp" method="POST" target="_blank"> <input type="checkbox" name="google" checked="checked" /> Google <input type="checkbox" name="w3big" /> 本教程 <input type="checkbox" name="taobao" checked="checked" /> 淘宝 <input type="submit" value="选择网站" /> </form> </body> </html>
Nun unterbreiten wir Daten-Dateien über den Browser-Zugriff test.htm Ausgabeergebnisse sind wie folgt:
Durch den Besuch http: // localhost: 8080 / testjsp / test.html main.jsp die Formulardaten in einer Datei einreichen, gezeigt Gif Demo unter:
Sie können versuchen, mehr zu verwenden, als JSP-Code andere Objekte zu lesen, wie Textfelder, Optionsfelder, Drop-Down-Boxen oder dergleichen andere Formen von Daten.