[JAVA] Les bases des formulaires HTML indispensables à la création d'applications Web

À propos du formulaire

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)

Principes de base du 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.

  1. Structure du formulaire
  2. Pièces en mousse
  3. Création de formulaires
  4. Mécanisme de transmission des données
1. Structure du formulaire

Les formulaires sont créés en combinant plusieurs balises HTML. Un formulaire est un ensemble d'éléments d'entrée.

コメント 2020-01-09 134640.png

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>
2. Pièces en mousse

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. ** **

3. Création de formulaires

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)

4. Mécanisme de transmission des données

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

Obtenir les paramètres de la demande

** 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");

Comment créer un programme à l'aide d'un formulaire

Créez un programme qui effectue l'enregistrement d'utilisateur suivant.

コメント 2020-01-09 132000.png コメント 2020-01-09 132042.png コメント 2020-01-09 131808.png

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

Les bases des formulaires HTML indispensables à la création d'applications Web
Rails Bases de la création d'une nouvelle application
Création d'applications Web Java sur Azure Web Apps
[Rails] Création d'un environnement pour le développement d'applications Web
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Rêver de créer facilement une API Web pour la base de données d'un système Java existant