Il s'agit d'un article sur le ** "formulaire" **, qui est l'une des technologies importantes pour créer des applications Web. Les formulaires permettent aux utilisateurs de ** saisir des données ** dans leurs applications Web.
Je vais expliquer les trois points ci-dessus étape par étape.
Si vous lisez d'abord tout le code, la première explication sera plus facile à comprendre. → [Comment créer un programme à l'aide d'un formulaire](# Comment créer un programme à l'aide d'un formulaire)
Les formulaires vous permettent de ** soumettre les données que vous saisissez sur une page Web à un programme côté serveur. ** **
De là, j'expliquerai chacun des quatre éléments qui sont à la base du formulaire.
Les formulaires sont créés en combinant plusieurs balises HTML. Un formulaire est un ensemble d'éléments d'entrée.
1, zone de texte (balise d'entrée: type attribute = "text") 2, bouton radio (balise d'entrée: type attribute = "radio") 3, bouton d'enregistrement (balise d'entrée: type attribute = "submit")
python
<form action="/example/FormSampleServlet" method="post">
Nom:<br>
<input type="text" name="name"><br>//Zone de texte
sexe:<br>
Homme<input type="radio" name="gender" value="0">//Boutons radio
femme<input type="radio" name="gender" value="1">//Boutons radio
<input type="submit" value="enregistrement">//enregistrementボタン
</form>
Dans le formulaire, mettez des parties (contrôles) pour la saisie et la soumission des données. Exemple:
java:Nom:<br>
<input type="text" name="name">
Nom de la pièce: nom Créer une pièce est juste une question d'écrire une balise. L'endroit à surveiller est le nom de la pièce. ** Chaque pièce doit avoir un nom unique pour l'identification. ** **
Le formulaire est créé avec la balise form. Notez que si vous écrivez une partie en dehors de la balise ** form, la valeur de cette partie ne sera pas envoyée **.
java:Nom:<br>
<form action="/example/FormSampleServlet" method="post">
//les pièces
</form>
Syntaxe du formulaire
python
<form action="Destination" method="Méthode de demande(get/post)">
//les pièces
</form>
attribut d'action: spécifiez la destination
Pour la classe de servlet → <nom de l'application> / <modèle d'URL>
Pour les fichiers JPS → <nom de l'application> /
attribut de méthode: spécifiez la méthode de demande get (demande GET) ou post (demande POST)
Lorsque vous cliquez sur le bouton d'enregistrement du formulaire, les données saisies dans les parties du formulaire seront enregistrées au format "nom de partie = valeur". Ce "nom de pièce = valeur" est appelé ** paramètre de requête **. Utilisez ** GET ** ou ** POST ** comme méthode de la requête pour envoyer les paramètres de la requête. Alors, lequel utiliserez-vous? Voyons la différence entre la requête GET et la requête POST.
OBTENIR la demande | Demande POST |
---|---|
Obtenez de nouvelles informations(Chercher) | Enregistrer les données saisies dans le formulaire(Enregistrement de l'utilisateur) |
Enregistrez et partagez les résultats soumis | Je ne souhaite pas afficher de données dans la barre d'adresse |
** Les paramètres de requête sont stockés par le serveur d'applications dans l'instance "HttpServletRequest" ** et transmis à la classe de servlet de destination ou au fichier JSP.
Classe de servlet pour obtenir les paramètres de requête
@WebServlet("/FormSampleServlet")
public class FormSampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Spécifiez le code de caractère du paramètre de demande
request.setCharacterEncoding("UTF-8");
//Obtenir les paramètres de la demande
String name=request.getParameter("name");
String gender=request.getParameter("gender");
Créez un programme qui effectue l'enregistrement d'utilisateur suivant.
Le code est ci-dessous.
Fichier JSP
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Enregistrement de l'utilisateur</title>
</head>
<body>
<form action="/example/FormSampleServlet" method="post">
Nom:<br>
<input type="text" name="name"><br>
sexe:<br>
Homme<input type="radio" name="gender" value="0">
femme<input type="radio" name="gender" value="1">
<input type="submit" value="enregistrement">
</form>
</body>
</html>
Classe de servlet
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FormSampleServlet
*/
@WebServlet("/FormSampleServlet")
public class FormSampleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Obtenir les paramètres de la demande
request.setCharacterEncoding("UTF-8");
String name=request.getParameter("name");
String gender=request.getParameter("gender");
//Vérifier les paramètres de la demande
String errorMsg="";
if (name==null||name.length()==0) {
errorMsg+="Aucun nom entré<br>";
}
if (gender==null||gender.length()==0) {
errorMsg+="Sexe non sélectionné<br>";
}else {
if (gender.equals("0")) {gender="Masculin";}
else if (gender.equals("1")) {gender="Femme";}
}
//Paramètres de message à afficher
String msg=name+"M.("+gender+")Inscrit";
if (errorMsg.length()!=0) {
msg=errorMsg;
}
//Sortie HTML
response.setContentType("text/html; charset=UTF-8");
PrintWriter out=response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<title>Enregistrement de l'utilisateur</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>"+msg+"<p>");
out.println("</body>");
out.println("</html>");
}
}
Recommended Posts