Exemples de programmes JSP : formulaire d'inscription et de connexion

exemples de programmes jsp

Dans ce tutoriel, je vous guiderai ร  travers le dรฉveloppementping Ce tutoriel prรฉsente des exemples de programmes utilisant JSP et implรฉmentant l'architecture MVC.

Les exemples de programmes suivants seront dรฉveloppรฉs :

  • Formulaire d'inscription
  • Formulaire de connexion et de dรฉconnexion
  • Formulaire JSP

Utilisation du formulaire d'inscription via JSP

Dans le formulaire d'inscription, nous aurons un formulaire pour remplir tous les dรฉtails qui contiendront le nom, le nom d'utilisateur, le mot de passe, l'adresse, le numรฉro de contact, etc.

Ce formulaire nous aidera ร  nous inscrire ร  l'application. Ils prennent toutes nos informations et les stockent dans un base de donnรฉes ou cache.

Dans cet exemple, nous allons prendre ยซGuru Formulaire dโ€™inscription comportant les champs suivants :

  1. Prรฉnom
  2. Nom de famille
  3. Nom d'utilisateur ( Ou : Nom d'รฉpouse )
  4. Mot de passe
  5. Adresse
  6. Tรฉlรฉphone

Aprรจs avoir rempli tous ces dรฉtails, nous avons le bouton Soumettre, en cliquant sur ce bouton, tous les dรฉtails seront stockรฉs.

Exemple 1 : Register_1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Registration Form</title>
</head>
<body>
<h1>Guru Register Form</h1>
<form action="guru_register" method="post">
			<table style="with: 50%">
				<tr>
					<td>First Name</td>
					<td><input type="text" name="first_name" /></td>
				</tr>
				<tr>
					<td>Last Name</td>
					<td><input type="text" name="last_name" /></td>
				</tr>
				<tr>
					<td>UserName</td>
					<td><input type="text" name="username" /></td>
				</tr>
					<tr>
					<td>Password</td>
					<td><input type="password" name="password" /></td>
				</tr>
				<tr>
					<td>Address</td>
					<td><input type="text" name="address" /></td>
				</tr>
				<tr>
					<td>Contact No</td>
					<td><input type="text" name="contact" /></td>
				</tr></table>
			<input type="submit" value="Submit" /></form>
</body>
</html>

Explication du code :

Code Ligne 11: Ici, nous prenons un nom de formulaire qui a une action, c'est-ร -dire le servlet vers lequel la demande sera traitรฉe et le nom du servlet est guru_register.java. La demande sera traitรฉe via la mรฉthode POST.

Code Ligne 14-16: Ici, nous prenons le type d'entrรฉe sous forme de texte et le nom est le prรฉnom

Code Ligne 18-20: Ici, nous prenons le type d'entrรฉe sous forme de texte et le nom est le nom de famille

Code Ligne 22-24: Ici, nous prenons le type d'entrรฉe sous forme de texte et le nom est le nom d'utilisateur

Code Ligne 26-28: Ici, nous prenons le type d'entrรฉe comme mot de passe (cela masquera le mot de passe une fois saisi) et le nom comme mot de passe.

Code Ligne 30-32: Ici, nous prenons le type d'entrรฉe sous forme de texte et le nom comme adresse

Code Ligne 34-36: Ici, nous prenons le type d'entrรฉe sous forme de texte et le nom comme contact

Code Ligne 37: Ici, nous prenons un bouton de type soumettre et la valeur est รฉgalement soumettre. En cliquant sur ce bouton, l'action ira au servlet guru_register correspondant oรน toutes les valeurs des paramรจtres seront transmises dans la requรชte.

Exemple 2: Guru_register.java

package demotest;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class guru_register
 */
public class guru_register extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String first_name = request.getParameter("first_name");
		String last_name = request.getParameter("last_name");
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String address = request.getParameter("address");
		String contact = request.getParameter("contact");
		
		if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() || 
				password.isEmpty() || address.isEmpty() || contact.isEmpty())
		{
			RequestDispatcher req = request.getRequestDispatcher("register_1.jsp");
			req.include(request, response);
		}
		else
		{
			RequestDispatcher req = request.getRequestDispatcher("register_2.jsp");
			req.forward(request, response);
		}
	}

}

Explication du code :

Code Ligne 14: Ici, nous dรฉfinissons guru_servlet qui รฉtend HttpServlet.

Code Ligne 18: Cette action doPost() mรฉthode qui sera appelรฉe lorsque nous mentionnerons lโ€™attribut POST in action dans le formulaire JSP ci-dessus.

Code Ligne 20-25: Ici, nous rรฉcupรฉrons les valeurs de la requรชte, c'est-ร -dire efirst_name, last_name, nom d'utilisateur, mot de passe, adresse et contact ร  l'aide de request.getParameter.

Code Ligne 27-32: Ici, nous prenons une condition dans laquelle nous vรฉrifions l'un des paramรจtres extraits de la demande pour savoir s'ils sont vides ou non. Si l'un des paramรจtres est vide, il entrera dans cette condition ( first_name.isEmpty() || last_name.isEmpty || username.isEmpty || password.isEmpty || address.isEmpty || contact.isEmpty()) et nous avons pour rรฉcupรฉrer l'objet RequestDispatcher ร  l'aide de l'objet request qui transmettra la demande ร  register_1.jsp. Ici, nous incluons รฉgalement les objets de requรชte et de rรฉponse.

Code Ligne 33-37: Ce cas s'exรฉcutera lorsqu'un des paramรจtres n'est pas vide. Nous devrons rรฉcupรฉrer l'objet requestDispatcher ร  l'aide de l'objet request qui transmettra la demande ร  register_2.jsp. Ici, nous transmettons les objets de demande et de rรฉponse.

Exemple 3 : Register_2.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success Page</title>
</head>
<body>
           <a><b>Welcome User!!!!</b></a>
</body>
</html>

Explication du code :

Code Ligne 10: Ici, nous disons bienvenue ร  l'utilisateur. Cette JSP sera appelรฉe lorsque tous les paramรจtres seront renseignรฉs.

Lorsque vous exรฉcutez le code ci-dessus, vous obtenez le rรฉsultat suivant :

Utilisation du formulaire d'inscription via JSP

Utilisation du formulaire d'inscription via JSP

Sortie :

Lorsque nous cliquons sur register_1.jsp, nous obtiendrons un formulaire qui contiendra des dรฉtails tels que prรฉnom, nom, nom d'utilisateur, mot de passe, adresse, contact. Tous les dรฉtails ont รฉtรฉ remplis. Lorsque nous cliquons sur le bouton Soumettre, nous obtenons le message ยซ Bienvenue utilisateur ยป

Formulaire de connexion et de dรฉconnexion

Comme le formulaire dโ€™inscription, nous aurons un formulaire de connexion et de dรฉconnexion.

Dans cet exemple, nous avons pris le formulaire de connexion oรน nous avons deux champs ยซ nom d'utilisateur ยป et ยซ mot de passe ยป avec un bouton de soumission.

Lorsque nous cliquons sur le bouton Soumettre, nous recevons un message de bienvenue avec un bouton de dรฉconnexion.

Lorsque nous cliquons sur le bouton de dรฉconnexion, nous revenons au formulaire de connexion.

Exemple 1 : Register_3.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Login Form</title>
</head>
<body>
<form action="guru_login" method="post">
		<table style="with: 50%">

			<tr>
				<td>UserName</td>
				<td><input type="text" name="username" /></td>
			</tr>
				<tr>
				<td>Password</td>
				<td><input type="password" name="password" /></td>
			</tr>
		</table>
		<input type="submit" value="Login" /></form>
</body>
</html>

Explication du code :

Code Ligne 10: Ici, nous prenons un nom de formulaire qui a une action, c'est-ร -dire que le servlet auquel il est passรฉ est guru_login.java. La mรฉthode par laquelle il passera son POST.

Code Ligne 13-16: Ici nous prenons un champ de saisie ยซ username ยป qui est de type texte.

Code Ligne 17-20: Nous prenons ici un champ de saisie ยซ mot de passe ยป qui est du type mot de passe.

Code Ligne 22: Ici, nous prenons un bouton ยซ soumettre ยป avec la valeur ยซ Connexion ยป sur lequel nous cliquons puis il va au servlet guru_login oรน les deux champs sont pris en utilisant l'objet de requรชte.

Guru_login.java(servlet)

package demotest;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class guru_login
 */
public class guru_login extends HttpServlet {

    public guru_login() {
        super();
        // TODO Auto-generated constructor stub
    }

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		if(username.isEmpty() || password.isEmpty() )
		{
			RequestDispatcher req = request.getRequestDispatcher("register_3.jsp");
			req.include(request, response);
		}
		else
		{
			RequestDispatcher req = request.getRequestDispatcher("register_4.jsp");
			req.forward(request, response);
		}
	}

}

Explication du code :

Code Ligne 5-9: Ici, nous importons les importations nรฉcessaires dans le code.

Code Ligne 14: Ici, nous prenons le servlet guru_login qui รฉtend HttpServlet.

Code Ligne 21: Ici nous utilisons doPost() mรฉthode comme dans le formulaire que nous utilisons la mรฉthode POST.

Code Ligne 23-24: Ici, nous prenons les paramรจtres en utilisant l'objet de requรชte, c'est-ร -dire le nom d'utilisateur et le mot de passe.

Code Ligne 25-29: De cette faรงon, nous prenons la condition ยซ if ยป dans laquelle nous vรฉrifions le nom d'utilisateur et le mot de passe s'ils sont vides ou non. Dans ce cas, s'il est vide, nous obtenons l'objet requestdispatcher qui est transmis ร  register_3.jsp avec les objets de requรชte et de rรฉponse.

Code Ligne 30-34: Ceci sera exรฉcutรฉ si les deux ne sont pas vides, puis il transmettra la demande ร  register_4.jsp avec les objets de demande et de rรฉponse.

Exemple 2 : Register_4.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Logged In</title>
</head>
<body>
	<table style="with: 50%">
	<tr><td>
	<% String username = request.getParameter("username"); %>
<a>Welcome   <% out.println(username); %> User!!!! You have logged in.</a></td></tr>
<tr></tr><tr><td></td><td></td><td><a href="register_3.jsp"><b>Logout</b></a></td></tr>
</table>
</body>
</html>

Explication du code :

Code Ligne 12: Ici, nous obtenons le paramรจtre ยซ nom d'utilisateur ยป de l'objet de requรชte dans le nom d'utilisateur de l'objet chaรฎne.

Code Ligne 13: Ici, nous avons un message de bienvenue avec le nom d'utilisateur.

Code Ligne 14: Ici, nous รฉtablissons un lien pour vous dรฉconnecter du formulaire qui redirige vers register_3.jsp.

Lorsque vous exรฉcutez le code ci-dessus, vous obtenez le rรฉsultat suivant :

Sortie :

Ici, lorsque nous cliquons sur register_3.jsp, nous obtenons deux champs ยซ nom d'utilisateur ยป et ยซ mot de passe ยป avec un bouton de connexion.

Formulaire de connexion et de dรฉconnexion

Aprรจs avoir cliquรฉ sur le bouton de connexion, vous obtenez le message ci-dessous avec un bouton de dรฉconnexion.

Formulaire de connexion et de dรฉconnexion

Lorsque vous cliquez sur le bouton de dรฉconnexion, vous revenez ร  la page de connexion

Formulaire de connexion et de dรฉconnexion

Traitement du formulaire JSP ร  l'aide de getParameter()

Traitement des formulaires JSP :

Les formulaires sont la mรฉthode courante dans le traitement Web. Nous devons envoyer des informations au serveur Web et ces informations.

Il existe deux mรฉthodes couramment utilisรฉes pour envoyer et rรฉcupรฉrer des informations au serveur Web.

Mรฉthode GET :

  • Il s'agit de la mรฉthode par dรฉfaut pour transmettre les informations du navigateur au serveur Web.
  • Il envoie les informations encodรฉes sรฉparรฉes par un caractรจre ? ajoutรฉ ร  URL .
  • Il a รฉgalement une limitation de taille et nous ne pouvons envoyer que 1024 caractรจres dans la demande.
  • Nous devons รฉviter d'envoyer un mot de passe et des informations sensibles via la mรฉthode GET.

Mรฉthode POST :

  • La mรฉthode de publication est la mรฉthode la plus fiable pour envoyer des informations au serveur.
  • Il envoie des informations sous forme de message sรฉparรฉ.
  • Il est envoyรฉ sous forme de chaรฎne de caractรจres aprรจs ? dans le URL.
  • Il est couramment utilisรฉ pour envoyer des informations sensibles.

JSP gรจre le traitement des donnรฉes de formulaire en utilisant les mรฉthodes suivantes :

  1. getParameter(): Il est utilisรฉ pour obtenir la valeur du paramรจtre du formulaire.
  2. getParameterValues(): Il est utilisรฉ pour renvoyer les multiples valeurs des paramรจtres.
  3. getParameterNames(): Il est utilisรฉ pour obtenir les noms des paramรจtres.
  4. getInputStream(): Il permet de lire les donnรฉes binaires envoyรฉes par le client.

Exemple :

Dans cet exemple, nous avons pris un formulaire avec deux champs ยซ nom d'utilisateur ยป et ยซ mot de passe ยป avec un bouton de soumission

Action_form.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Form</title>
</head>
<body>
<form action="action_form_process.jsp" method="GET">
UserName: <input type="text" name="username">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Action_form_process.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<h1>Form Processing</h1>

<p><b>Welcome User:</b>
   <%= request.getParameter("username")%>
</p>

</body>
</html>

Explication du code : Action_form.jsp

Code Ligne 10: Ici, nous avons dรฉfini une forme ร  travers laquelle nous devons traiter l'action vers une autre JSP. Dans le paramรจtre d'action, nous ajoutons le JSP auquel il doit รชtre traitรฉ via la mรฉthode GET.

Ici, nous utilisons la mรฉthode GET pour transmettre les informations, c'est-ร -dire le nom d'utilisateur et le mot de passe.

Code Ligne 11-14: Ici, nous prenons des champs comme le nom d'utilisateur et le mot de passe qui sont des champs de texte, et nous obtenons la saisie de l'utilisateur.

Cette entrรฉe peut รชtre rรฉcupรฉrรฉe ร  l'aide de la mรฉthode getParameter. En outre, nous avons un bouton de soumission avec le type de soumission qui nous aide ร  transmettre les valeurs des champs dans action_form_process.jsp.

Action_form_process.jsp

Code Ligne 14: Ici, nous obtenons les valeurs des champs de saisie de action_form.jsp en utilisant la mรฉthode getParameter de l'objet de requรชte.

Lorsque nous exรฉcutons le code ci-dessus, nous obtenons le rรฉsultat suivant :

Traitement des formulaires JSP

Traitement des formulaires JSP

Sortie :

Lorsque nous exรฉcutons action_form.jsp, nous obtenons un formulaire avec deux champs nom d'utilisateur et mot de passe et un bouton de soumission. Ensuite, aprรจs avoir entrรฉ le nom d'utilisateur et le mot de passe, nous pouvons cliquer sur soumettre, et il passe ร  la page suivante qui donne la sortie sous forme de page de traitement de formulaire avec un message de bienvenue.

Rรฉsumez cet article avec :