Latest web development tutorials

JSP traitement des formulaires

Nous naviguer sur le Web, souvent, vous devez soumettre des informations au serveur, et de laisser le processus démon. Le navigateur utilise la méthode GET et POST pour envoyer des données au serveur.


Méthode GET

GET procédé de codage de demande d'information à ajouter à l'URL, l'information URL de codage à travers le "?" Séparés par. Comme suit:

http://www.w3big.com/hello?key1=value1&key2=value2

méthode GET est une méthode de transmission de paramètres navigateur par défaut, les informations sensibles, telles que les mots de passe et autres recommandé de ne pas utiliser la méthode GET.

Être utilisé, la taille des données de transmission est limitée (noter le nombre de paramètres ne se limite pas), jusqu'à 1024 octets.


méthode POST

Les informations sensibles telles que les mots de passe et pour que nous puissions passer à la méthode POST, POST pour soumettre des données est implicite.

POST pour soumettre les données ne sont pas visibles, GET est passé à travers l'URL à l'intérieur (vous pouvez regarder la barre d'adresse de votre navigateur).

JSP en utilisant le getParameter () pour obtenir le paramètre passé, la méthode getInputStream () est utilisée pour traiter le flux de données binaires demande des clients.


formulaire JSP données sont lues

  • getParameter (): Utilisez la méthode request.getParameter () pour obtenir la valeur du paramètre de forme.

  • getParameterValues (): obtenez comme classe de case à cocher (le même nom, mais une pluralité de valeurs) des données.Réception d'un tableau de variables, telles que le type case

  • getParameterNames (): Cette méthode peut obtenir les noms de toutes les variables, la méthode renvoie un Emumeration.

  • getInputStream (): Cette méthode est appelée pour lire le flux de données binaires à partir du client.


Des exemples d'utilisation de la méthode URL GET

Ce qui suit est un simple URL, et utilise la méthode GET pour passer des paramètres dans l'URL:

http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.com

Adresse testjsp pour le projet.

Ce qui suit est le fichier programme de main.jsp JSP pour les données de formulaire de traitement soumis par le client, nous utilisons la méthode getParameter () pour obtenir les données soumises:

<%@ 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>

Ensuite , nous visitons le http navigateur: // localhost: 8080 / testjsp / nom de main.jsp = Ce tutoriel & url = http :? //ww.w3big.com résultats de sortie sont les suivantes:


Utilisez la méthode sous forme de GET de l'exemple

Ce qui suit est un simple formulaire HTML, qui sera soumis par la méthode GET pour main.jsp fichier de données client:

<!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>

Enregistrez le code HTML ci-dessus dans le fichier test.htm. Placez le fichier dans le répertoire courant sous le projet WebContent de (avec main.jsp le même répertoire).

Par http visiter: // localhost: 8080 / testjsp / test.html main.jsp soumettre les données de formulaire à un fichier, démo gif ci - dessous:

Remplissez les informations dans le "nom du site" et "URL" deux formulaire et cliquez sur le bouton «Soumettre», il va afficher les résultats.


Des exemples de la méthode POST du formulaire

Nous allons utiliser la méthode POST pour transmettre les données de formulaire, et de modifier le code de main.jsp fichier Hello.htm comme suit:

Code de fichier main.jsp:

<%@ 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 que nous utilisons new String ((request.getParameter ( "nom ")). GetBytes ( "ISO-8859-1"), "UTF-8") pour convertir code, prévenir l'apparition de brouillées chinois.

Voici le test.htm de code modifié:

<!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>

Par http visiter: // localhost: 8080 / testjsp / test.html main.jsp soumettre les données de formulaire à un fichier, démo gif ci - dessous:


données passe Checkbox au programme JSP

Checkbox peut passer encore plus de données.

Ce qui suit est un code HTML simple, et le code est stocké dans le fichier test.htm:

<!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>

Le code ci-dessus dans le navigateur pour accéder à ce qui suit:

Ce qui suit est le code de fichier main.jsp pour la boîte de données de traitement:

<%@ 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>

Par http visiter: // localhost: 8080 / testjsp / test.html main.jsp soumettre les données de formulaire à un fichier, démo gif ci - dessous:


Lire tous les paramètres de formulaire

Ci - dessous , nous allons utiliser les getParameterNames de HttpServletRequest () pour lire tous les paramètres de la forme, la méthode peut obtenir les noms de toutes les variables, la méthode renvoie une énumération.

Une fois que nous avons un Enumeration (énumération), nous pouvons appeler hasMoreElements () méthode pour déterminer s'il y a des éléments, et l'utilisation de nextElement méthode () pour obtenir le nom de chaque paramètre.

<%@ 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>

Ce qui suit est le fichier test.htm contenu:

<!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>

Maintenant, nous soumettons les fichiers de données à travers les résultats de sortie navigateur l'accès de Test.htm sont les suivantes:

Par http visiter: // localhost: 8080 / testjsp / test.html main.jsp soumettre les données de formulaire à un fichier, démo gif ci - dessous:

Vous pouvez essayer d'utiliser plus de code JSP lecture d'autres objets, tels que des zones de texte, boutons radio, des boîtes déroulantes ou les autres formes comme des données.