Déclaration : Original de l'auteur, tous droits réservés. La reproduction non autorisée n'est pas autorisée. Utilisez des beans et des servlets pour implémenter conjointement l'enregistrement et la connexion des utilisateurs dans jsp
.
Copyright : imagebear
Logiciel et environnement d'exploitation requis pour cet exemple :
1. Système d'exploitation Windows2000 Server
2.jdk1.4
3. JCreator2.5 (débogueur d'édition de code source Java, recommandé pour ceux qui vomissent du sang !)
4. Macromedia JRunMX
5. Macromedia Dreamweaver MX (facultatif)
6. Base de données MySQL (il est préférable d'installer MySQL Control Center)
1. Conception de la base de données Ouvrez la base de données MySQL avec MySQL Control Center, créez une nouvelle base de données et créez une nouvelle table tbl_user en dessous, avec chaque champ défini comme suit :
2. Écrivez le bean de base de données de connexion : DBConn.java
//DBConn.java
//inclure les classes requises
importer java.sql.*;
//======================================== = =
// Définir ClassDBConn
//===========================================
classe publiqueDBConn
{
public String sql_driver = "org.gjt.mm.mysql.Driver";
public String sql_url = "jdbc:mysql://localhost:3306";
public String sql_DBName = "shopping";
utilisateur de chaîne publique = "sa" ;
public String pwd = "" ;
Connexion conn = null ;
Instruction stmt = null ;
ResultSet rs = null ;
public booléen setDriver (String drv)
{
this.sql_driver = drv;
renvoie vrai ;
}
Chaîne publique getDriver()
{
renvoie this.sql_driver ;
}
public booléen setUrl (URL de chaîne)
{
this.sql_url = url ;
renvoie vrai ;
}
public booléen setDBName (String nom de base de données)
{
this.sql_DBName = nom de base de données ;
renvoie vrai ;
}
Chaîne publique getDBName()
{
renvoie this.sql_DBName ;
}
public booléen setUser (utilisateur String)
{
this.user = utilisateur ;
renvoie vrai ;
}
Chaîne publique getUser()
{
renvoie this.user ;
}
public booléen setPwd (String pwd)
{
this.pwd = pwd;
renvoie vrai ;
}
chaîne publique getPwd()
{
renvoie ceci.pwd ;
}
publicDBConn()
{
essayer{
Class.forName(sql_driver);//Charger le pilote de base de données
this.conn = DriverManager.getConnection(sql_url + "/" + sql_DBName + "?user=" + user + "&password=" + pwd + "&useUnicode=true&characterEncoding=gb2312");
this.stmt = this.conn.createStatement();
}attraper(Exception e){
System.out.println(e.toString());
}
}
//Effectuer une opération de requête
public ResultSetexecuteQuery(String strSql)
{
essayer{
this.rs = stmt.executeQuery(strSql);
renvoie ceci.rs;
}catch(SQLException e){
System.out.println(e.toString());
renvoie null ;
}catch(NullPointerException e){
System.out.println(e.toString());
renvoie null ;
}
}
//Effectuer des opérations d'insertion, de suppression et de modification de données
exécution booléenne publique (String strSql)
{
essayer{
si (this.stmt.executeUpdate (strSql) == 0)
renvoie faux ;
autre
renvoie vrai ;
}catch(SQLException e){
System.out.println(e.toString());
renvoie faux ;
}catch(NullPointerException e){
System.out.println(e.toString());
renvoie faux ;
}
}
//Le pointeur du jeu de résultats passe à une certaine ligne
public booléen rs_absolute (ligne int)
{
essayer{
this.rs.absolute(ligne);
renvoie vrai ;
}catch(SQLException e){
System.out.println(e.toString());
renvoie faux ;
}
}
public void rs_afterLast()
{
essayer{
this.rs.afterLast();
}catch(SQLException e){
System.out.println(e.toString());
}
}
public void rs_beforeFirst()
{
essayer{
this.rs.beforeFirst();
}catch(SQLException e){
System.out.print(e.toString());
}
}
public void rs_close()
{
essayer{
this.rs.close();
}catch(SQLException e){
System.out.print(e.toString());
}
}
public void rs_deleteRow()
{
essayer{
this.rs.deleteRow();
}catch(SQLException e){
System.out.print(e.toString());
}
}
public booléen rs_first()
{
essayer{
this.rs.first();
renvoie vrai ;
}catch(SQLException e){
System.out.print(e.toString());
renvoie faux ;
}
}
chaîne publique rs_getString (colonne Chaîne)
{
essayer{
return this.rs.getString(column);
}catch(SQLException e){
System.out.println(e.toString());
renvoie null ;
}
}
//Cette méthode est utilisée pour obtenir de grandes sections de texte,
//Remplacez le retour chariot et le saut de ligne par <br>
// Sortie vers la page HTML
chaîne publique rs_getHtmlString (colonne String)
{
essayer{
Chaîne str1 = this.rs.getString(colonne);
Chaîne str2 = "rn" ;
Chaîne str3 = "<br>" ;
return this.replaceAll(str1,str2,str3);
}catch(SQLException e){
System.out.println(e.toString());
renvoie null ;
}
}
//Remplacez la chaîne str2 dans la chaîne str1 par la chaîne str3
chaîne statique privée replaceAll (String str1, String str2, String str3)
{
StringBuffer strBuf = nouveau StringBuffer(str1);
indice int=0 ;
tandis que(str1.indexOf(str2,index)!=-1)
{
index=str1.indexOf(str2,index);
strBuf.replace(str1.indexOf(str2,index),str1.indexOf(str2,index)+str2.length(),str3);
index=index+str3.length();
str1=strBuf.toString();
}
return strBuf.toString();
}
public int rs_getInt (colonne Chaîne)
{
essayer{
renvoie this.rs.getInt(colonne);
}catch(SQLException e){
System.out.println(e.toString());
renvoie -1 ;
}
}
public int rs_getInt (colonne int)
{
essayer{
renvoie this.rs.getInt(colonne);
}catch(SQLException e){
System.out.println(e.toString());
renvoie -1 ;
}
}
public booléen rs_next()
{
essayer{
renvoie this.rs.next();
}catch(SQLException e){
System.out.println(e.toString());
renvoie faux ;
}
}
//Déterminer s'il y a des données dans le jeu de résultats
public booléen hasData()
{
essayer{
booléen has_Data = this.rs.first();
this.rs.beforeFirst();
retourner has_Data ;
}catch(SQLException e){
System.out.println(e.toString());
renvoie faux ;
}
}
public booléen rs_last()
{
essayer{
renvoie this.rs.last();
}catch(SQLException e){
System.out.println(e.toString());
renvoie faux ;
}
}
public booléen rs_previous()
{
essayer{
renvoie this.rs.previous();
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
//méthode principale, utilisée pour le débogage
public static void main (String args[])
{
essayer{
DBConn maconn = new DBConn();
//myconn.setDBName("shopping");
//maconn.DBConn();
//myconn.execute("Insérer dans les valeurs tbl_test(id,name)('10','shandaer')");
//myconn.execute("Mettre à jour tbl_test set name='yyyyyyyyyyyy' où id=10");
//myconn.execute("Supprimer de tbl_test où id=1");
ResultSet rs = myconn.executeQuery("select * from tbl_user order by id desc limit 1");
//booléen hasData = myconn.hasData();
//System.out.println("has data:" + hasData);
//rs.first();
tandis que (myconn.rs.next())
{
int id = myconn.rs_getInt("id") + 1;
System.out.print(id);
System.out.println(myconn.rs_getInt("id") + myconn.rs_getString("name"));
//System.out.println('n' + myconn.rs_getHtmlString("nom"));
//System.out.println(myconn.rs.getString("name") + myconn.rs_getInt(1));
}
}attraper(Exception e){
System.err.println(e.toString());
}
}
}
Déclaration : Comme vous utilisez une base de données MySQL, vous devez télécharger le pilote de base de données MySQL. Après le téléchargement, veuillez placer le package org dans le répertoire où se trouve DBConn.java pour vous assurer que le bean peut fonctionner normalement.
3. Écrivez le bean pour l'enregistrement de l'utilisateur : reg.java
//reg.java
//importer les classes requises
importer java.sql.* ;
enregistrement de classe publique
{
public int nouvelID = 0 ;
résultat booléen public = faux ;
reg booléen public (nom d'utilisateur de chaîne, mot de passe de chaîne, confirmation de chaîne, e-mail de chaîne)
{
essayer{
if(!this.checkUser(nom d'utilisateur))
renvoie faux ;
if(!this.checkPwd(mot de passe))
renvoie faux ;
if(!this.verifyPwd(mot de passe,confirmer))
renvoie faux ;
si(!this.checkEmail(email))
renvoie faux ;
if(!this.userNotExit(nom d'utilisateur))
renvoie faux ;
this.getNewID();
this.result = this.register (nom d'utilisateur, mot de passe, confirmation, email);
renvoie ceci.result;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}//Fin de la registre booléen
public boolean checkUser (utilisateur String)
{
essayer{
si(user.indexOf("'")!=-1)
{
System.out.println("Le nom contient des caractères non autorisés !");
renvoie faux ;
}autre
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
contrôle booléen publicPwd (String pwd)
{
essayer{
si(pwd.indexOf("'")!=-1)
{
System.out.println("Le mot de passe contient des caractères illégaux !");
renvoie faux ;
}autre
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public boolean verifyPwd (String pwd, String confirm)
{
essayer{
if(!pwd.equals(confirmer))
{
System.out.println("Les mots de passe saisis deux fois sont incohérents !");
renvoie faux ;
}autre
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public boolean checkEmail (String email)
{
essayer{
si(email.indexOf("'")!=-1)
{
System.out.println("L'e-mail contient des caractères illégaux !");
renvoie faux ;
}autre
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public booléen userNotExit (utilisateur String)
{
essayer{
DBConn userDBConn = new DBConn();
userDBConn.executeQuery("select * from tbl_userwhere name='" + utilisateur + "'");
si (userDBConn.rs_next())
{
System.out.println("Le nom d'utilisateur existe déjà, veuillez en choisir un autre!");
renvoie faux ;
}autre
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public int getNewID()
{
essayer{
DBConn newIDDBConn = nouveau DBConn();
newIDDBConn.executeQuery("select * from tbl_user order by id desc limit 1");
si (newIDDBConn.rs_next())
{
this.newID = newIDDBConn.rs_getInt("id") + 1;
System.out.println(this.newID);
}autre{
this.newID = 1 ;
}
renvoie this.newID ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie -1 ;
}
}
public int getID()
{
renvoie this.newID ;
}
registre booléen public (nom d'utilisateur de chaîne, mot de passe de chaîne, confirmation de chaîne, e-mail de chaîne)
{
essayer{
DBConn regDBConn = nouveau DBConn();
String strSQL = "insérer dans les valeurs tbl_user(id,name,pwd,email)('" + this.newID +"','" + nom d'utilisateur + "','" + mot de passe + "','" + email + " ')" ;
regDBConn.execute(strSQL);
renvoie vrai ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public static void main(String args[])
{
essayer{
reg newreg = nouveau reg();
System.out.println(newreg.reg("sssssssss","ssssss","ssssss"," [email protected] "));
DBConn maconn = new DBConn();
myconn.executeQuery("select * from tbl_user");
tandis que(myconn.rs_next())
{
System.out.println(myconn.rs_getInt("id") + " " + myconn.rs_getString("name") + " " + myconn.rs_getString("pwd") + " " + myconn.rs_getString("email") );
}
System.out.println(newreg.getID());
}attraper(Exception e){
System.err.println(e.toString());
}
}
} ;
illustre :
1. Le fichier bean doit être placé dans le même répertoire que le fichier DBConn.class mentionné ci-dessus.
2. Cet exemple étudie principalement le processus d'inscription. La détection des e-mails et les autres méthodes ne sont pas parfaites. Si vous souhaitez l'appliquer, veuillez concevoir votre propre méthode.
4. Écrivez le servlet pour la connexion de l'utilisateur : login.java
//login.java
//importer les classes requises
importer java.io.* ;
importer javax.servlet.* ;
importer javax.servlet.http.* ;
importer java.sql.*;
//connexion à la classe
la connexion en classe publique étend HttpServlet
{
public void doGet (HttpServletRequest req, HttpServletResponse res)
throwsIOException, ServletException
{
String nom d'utilisateur = req.getParameter("nom d'utilisateur");
Chaîne mot de passe = req.getParameter("mot de passe");
if (this.checklogin (nom d'utilisateur, mot de passe))
{
Cookie mylogin = new Cookie("nom d'utilisateur", nom d'utilisateur);
ma connexion.setVersion(1);
ma connexion.setPath("/");
mylogin.setComment("Votre nom d'utilisateur de connexion");
res.addCookie(ma connexion);
}
//Cookie[] mesCookies = req.getCookies();
//String nameValue = this.getCookieValue(myCookies,"username","not found");
//PrintWriter out = res.getWriter();
//out.println("nom d'utilisateur" + ":" + nameValue);
//out.println("Test de réussite du cookie !");
res.sendRedirect("/index.jsp");
}
public void doPost (HttpServletRequest req, HttpServletResponse res)
throwsIOException, ServletException
{
doGet(req,res);
}
public static String getCookieValue (Cookie[] cookies,String cookieName,String defaultValue)
{
pour(int i=0;i<cookies.length;i++) {
Cookie cookie = cookies[i];
si (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
return (valeur par défaut);
}
checklogin booléen public (nom d'utilisateur String, mot de passe String)
{
essayer{
DBConn loginConn = new DBConn();
loginConn.executeQuery("select * from tbl_user où nom='" + nom d'utilisateur + "'");
si(loginConn.rs_next())
{
System.out.println("Connexion créée !");
if(loginConn.rs_getString("pwd").trim().equals(mot de passe))
{
System.out.println(loginConn.rs_getString("nom"));
renvoie vrai ;
}
autre
{
renvoie faux ;
}
}
System.out.println("Test de connexion réussi !");
renvoie faux ;
}attraper(Exception e){
System.out.println(e.toString());
renvoie faux ;
}
}
public static void main (String args[])
{
connexion mylogin = new login();
System.out.println(mylogin.checklogin("shandong","shandong"));
}
}
illustre :
1. Il n'y a pas de package de servlet dans le jdk1.4 par défaut. Veuillez vous rendre sur le site Web de la société Sun pour télécharger servlet.jar, placez-le dans le répertoire jrelib sous le répertoire jdk et ajoutez le package servlet.jar au répertoire jrelib. jdk dans JCreator
2. Ce servlet est utilisé pour vérifier le nom d'utilisateur et le mot de passe. S'il est correct, le nom d'utilisateur sera écrit dans le cookie. Une fois terminé, la page actuelle sera redirigée vers la page index.jsp.
5. Écrivez un bean pour détecter si l'utilisateur s'est connecté : checkLogin.java
//checkLogin.java
//importer les classes requises
importer java.io.* ;
importer javax.servlet.* ;
import javax.servlet.http.*;
//class checkLogin
vérification de classe publiqueConnexion
{
public String nom d'utilisateur = "" ;
vérification booléenne publique (HttpServletRequest req, HttpServletResponse res)
throwsIOException, ServletException
{
Chaîne cookieName = "nom d'utilisateur" ;
Cookie[] mesCookies = req.getCookies();
this.username = this.getCookieValue(myCookies,cookieName,"not found");
PrintWriter out = res.getWriter();
if(this.username != null)
{
//out.println("Bonjour," + this.username + "!");
renvoie vrai ;
}autre{
out.println("Échec de la connexion !");
renvoie faux ;
}
}
chaîne publique getUserName()
{
renvoie this.username ;
}
public static String getCookieValue (Cookie[] cookies,String cookieName,String defaultValue)
{
pour(int i=0;i<cookies.length;i++) {
Cookie cookie = cookies[i];
si (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
return (valeur par défaut);
}
}
Description : Ce bean détecte le nom d'utilisateur dans le cookie. S'il n'est pas vide, cela signifie que vous êtes connecté, sinon cela signifie que vous n'êtes pas connecté. La méthode n’est pas parfaite, vous pouvez la développer vous-même.
6. Créez un serveur commercial dans JRun. Ouvrez JRun Administrator et créez un nouveau serveur commercial. Le port ici est 8101.
Copiez tous les fichiers de classe compilés mentionnés ci-dessus avec le package org dans le dossier classes du répertoire où se trouve le serveur commercial de JRun. Le chemin est :
C:JRun4serversshoppingdefault-eardefault-warWEB-INFclasses
7. Créez l'application de fichier jsp DW dans le répertoire C:JRun4serversshoppingdefault-eardefault-war Créez un nouveau fichier jsp comme suit :
index.jsp:
<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<tête>
<titre>Shopping123</titre>
<méta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</tête>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<jsp:useBean id="checklogin" class="checkLogin" scope="page"/>
<%
connexion booléenne = checklogin.check(request,response);
%>
<table width="100%" height="100%" border="0" cellpadding="0" cellpacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellpacing="0">
<tr>
<td width="120"> </td>
<td class="caption">Shopping123</td>
<td width="200"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="200" align="center" valign="top"><table width="100%" height="20" border="0" cellpadding="0" Cellpacing="0">
<tr>
<td> </td>
</tr>
</table>
<%
si(!connexion){
%>
<table width="90%" border="0" align="center" cellpadding="0" Cellpacing="1" bgcolor="#CCCCCC">
<form name="form1" method="post" action="/servlet/login">
<tr align="center" bgcolor="#CCCCCC">
<td height="30" colspan="2" class="deepred">Entrée du stockage</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Membre</td>
<td align="center" bgcolor="#FFFFFF"><input name="username" type="text" id="username" size="10"></td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">Mot de passe</td>
<td align="center" bgcolor="#FFFFFF"><input name="password" type="text" id="password" size="10"></td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF"><a href="reg.jsp" target="_blank" class="red">S'inscrire</a></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="Enter"></td>
</tr>
</form>
</table>
<%
}
autre
{
out.println("Bonjour," + checklogin.getUserName() + "!");
}
%>
</td>
<td width="1" valign="top" bgcolor="#CCCCCC"></td>
<td width="400"> </td>
<td width="1" valign="top" bgcolor="#CCCCCC"></td>
<td width="200"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</table>
</corps>
</html>
reg.jsp<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<tête>
<titre>Shopping123</titre>
<méta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</tête>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="0" cellpacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellpacing="0">
<tr>
<td width="120"> </td>
<td class="caption">Shopping123</td>
<td width="200"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td width="1" valign="top"></td>
<td width="400" align="center" valign="top"><table width="100%" height="20" border="0" cellpadding="0" Cellpacing="0">
<tr>
<td> </td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" Cellpacing="1" bgcolor="#CCCCCC">
<form action="regpost.jsp" method="post" name="form1">
<tr align="centre">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">Inscription des membres</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Membre</td>
<td align="center" bgcolor="#FFFFFF"><input name="username" type="text" id="username" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Mot de passe</td>
<td align="center" bgcolor="#FFFFFF"><input name="password" type="password" id="password" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Vérifier le mot de passe</td>
<td align="center" bgcolor="#FFFFFF"><input name="confirm" type="password" id="confirm" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">E-mail</td>
<td align="center" bgcolor="#FFFFFF"><input name="email" type="text" id="email" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="Rewrite"></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit2" value="Register"></td>
</tr>
</form>
</table></td>
<td width="1" valign="top"></td>
<td width="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</table>
</corps>
</html>
regpost.jsp : Page de soumission du formulaire d'inscription <%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<%@ page import="reg"%>
<html>
<tête>
<titre>Shopping123</titre>
<méta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</tête>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<%
String nom d'utilisateur = new String(request.getParameter("username").getBytes("ISO8859_1")).trim();
Chaîne mot de passe = new String(request.getParameter("password").getBytes("ISO8859_1")).trim();
String confirm = new String(request.getParameter("confirm").getBytes("ISO8859_1")).trim();
String email = new String(request.getParameter("email").getBytes("ISO8859_1")).trim();
%>
<table width="100%" height="100%" border="0" cellpadding="0" cellpacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellpacing="0">
<tr>
<td width="120"> </td>
<td class="caption">Shopping123</td>
<td width="200"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td width="1" valign="top"></td>
<td width="400" align="center" valign="top">
<table width="100%" height="20" border="0" cellpadding="0" cellpacing="0">
<tr>
<td> </td>
</tr>
</table>
<jsp:useBean id="regID" class="reg" scope="session"/>
<%
if(regID.reg(nom d'utilisateur, mot de passe, confirmation, email))
{
out.print("ok");
Chaîne newID = regID.getID() + "" ;
%>
<table width="100%" border="0" cellpadding="0" Cellpacing="1" bgcolor="#CCCCCC">
<tr align="centre">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">Félicitations, votre inscription est réussie ! </td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Nombre</td>
<td align="center" bgcolor="#FFFFFF"><%=newID%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Membre</td>
<td align="center" bgcolor="#FFFFFF"><%=username%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Mot de passe</td>
<td align="center" bgcolor="#FFFFFF"><%=password%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">E-mail</td>
<td align="center" bgcolor="#FFFFFF"><%=email%></td>
</tr>
</table>
<%
out.print("<br>");
out.print("<a href=javascript:window.close()>Fermer</a>");
}autre{
out.print("Échec de l'inscription !<br>");
out.print("Ce nom d'utilisateur est déjà utilisé, veuillez en utiliser un autre!");
out.print("<a href=javascript:history.go(-1)>Retour</a>");
}
%>
</td>
<td width="1" valign="top"></td>
<td width="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</table>
</corps>
</html>
Jusqu'à présent, nous avons mis au point un système d'enregistrement et de connexion des utilisateurs. Parce que cela a été réalisé par moi-même pendant l'apprentissage, il doit y avoir de nombreuses imperfections dans le code. Tout le monde est invité à me critiquer et à me corriger. Tous les codes ci-dessus ont été testés par moi.