Connectez-vous et enregistrez le petit code, combinez certaines des petites connaissances que vous avez apprises et utilisez-la pour approfondir votre impression. S'il y a des commentaires dans cet exemple, veuillez vous référer à d'autres blogs pour plus de détails.
Introduction de la fonction: un système de connexion et d'enregistrement simple, en utilisant des connaissances telles que la base de données SQLServer, le modèle Singleton, les expressions régulières et le développement graphique.
1. Dans l'interface de connexion, vous pouvez vous connecter ou enregistrer un utilisateur. Enregistrez l'interface utilisateur et entrez des informations en fonction des exigences de format spécifiées dans l'expression régulière. S'il y a une erreur, rentrez.
2. Cliquez pour vous inscrire et se connecter d'abord à la base de données SQLServer. Si la connexion réussit, elle déterminera si le nom d'utilisateur existe déjà. S'il existe, une invite sera donnée. Sinon, inscrivez-vous.
3. Connectez-vous l'interface. Lorsque vous cliquez sur le bouton de connexion, établissez d'abord une connexion avec la base de données. Recherchez dans la base de données en fonction du nom d'utilisateur et du mot de passe. Si c'est le cas, la connexion réussira. Sinon, donnez une invite.
4. En utilisant le mode Singleton, nous ne pouvons créer qu'un objet de type SQLServer, qui enregistre considérablement les frais généraux de mémoire.
Voir: https://github.com/chaohuangtianjie994/a-login-gister-ystem
5. Sur cette base, un grand nombre de fonctions d'expansion peuvent être effectuées.
Le code est le suivant:
Interface de connexion userRegister.java.
package package1; / * * Fonction: l'interface de connexion a la fonction d'enregistrement et l'interface d'enregistrement apparaît. * Enregistrez les informations enregistrées dans la base de données et la connexion peut être effectuée. * Auteur: ywq * / import javax.swing. *; import java.awt. *; import java.awt.event. *; Importer java.sql. *; La classe publique UserRegister étend JFrame implémente ActionListener {// Définissez les composants de l'interface de connexion JBUTTON JB1, JB2, JB3 = NULL; JRADIOBUTTON JRB1, JRB2 = NULL; JPanel JP1, JP2, JP3 = NULL; JTextfield jtf = null; JLABEL JLB1, JLB2 = NULL; Jpasswordfield jpf = null; public static void main (String [] args) {userRegister ur = new userRegister (); } public userRegister () {// Créer un composant // Créer un composant JB1 = new JBUTTON ("Login"); jb2 = new JButton ("registre"); jb3 = new JButton ("sortie"); // Définir l'écoute jb1.addactionListener (this); JB2.AddactionListener (this); JB3.AddactionListener (this); jlb1 = new JLabel ("nom d'utilisateur:"); jlb2 = new JLabel ("mot de passe:"); jtf = new JTextField (10); jpf = new JPasswordField (10); jp1 = new JPanel (); jp2 = new JPanel (); jp3 = new JPanel (); jp1.add (jlb1); jp1.add (jtf); JP2.Add (JLB2); JP2.Add (JPF); JP3.Add (JB1); JP3.Add (JB2); JP3.Add (JB3); this.add (jp1); this.add (jp2); this.add (jp3); this.setVisible (true); this.setResiSable (false); this.setTitle ("Interface de connexion enregistrée"); this.setLayout (new GridLayout (3,1)); this.setDefaultCloseOperation (jframe.exit_on_close); this.setbounds (300, 200, 300, 180); } @Override public void ActionPerformed (ActionEvent e) {// Écoutez chaque bouton if (e.getActionCommand () == "exit") {System.Exit (0); } else if (e.getActionCommand () == "Login") {// Appelez la méthode de connexion this.login (); } else if (e.getActionCommand () == "registre") {// Appelez la méthode d'enregistrement this.regis (); }} // Méthode d'enregistrement public void regis () {this.disposose (); // ferme l'interface actuelle nouvelle ui (); // Ouvrez la nouvelle interface} // Méthode de connexion publique Void Login () {SqlServer S = new SqlServer (); S.Connectsql (); s.sqlverify (jtf.getText (), jpf.getText ()); this.jtf.setText (""); this.jpf.setText (""); }} Affichage de la page ui.java pour l'inscription. Des expressions régulières sont utilisées pour spécifier le contenu d'entrée. Lors de votre inscription, vous devez d'abord déterminer si le nom d'utilisateur existe. S'il existe, une invite est donnée, sinon s'inscrivez-vous.
package package1; import java.awt.event. *; import java.awt. *; importer javax.swing. *; / * * Interface d'enregistrement. * / class ui étend JFrame implémente ActionListener {// Définir le composant jframe jf; Jpanel JP; JLABEL JL1, JL2, JL3, JL4; JTextfield JTF1, JTF2, JTF3, JTF4; JBUTTON JB1, JB2; public ui () {// Initialiser le composant jf = new JFrame (); jp = new JPanel (); jl1 = new JLabel ("Veuillez saisir le nom d'utilisateur:"); jtf1 = new JTextfield (10); jtf1.setToolTipText ("Le nom d'utilisateur doit être des numéros de lettres_or à 3 à 6 chiffres"); jl2 = new JLabel ("Veuillez entrer le mot de passe:"); jtf2 = new JTextfield (10); jtf2.setToolTipText ("Le mot de passe doit être des numéros Letters_or à 6 chiffres"); jl3 = new JLabel ("Veuillez entrer le nom:"); jtf3 = new JTextField (10); jtf3.setToolTipText ("Le nom doit être 2-4 chiffres de caractères chinois"); jl4 = new JLabel ("Veuillez entrer le numéro d'étudiant:"); jtf4 = new JTextfield (10); JTF4.SetToolTipText ("Le numéro d'étudiant doit être 3-6 chiffres"); jb1 = new JButton ("retour"); jb1.setToolTipText ("Cliquez sur moi pour revenir à l'interface de connexion"); jb2 = new JButton ("registre"); jb1.addactionListener (this); JB2.AddactionListener (this); jp.setLayout (new GridLayout (5,2)); JP.Add (JL1); JP.Add (JTF1); JP.Add (JL2); jp.add (jtf2); JP.Add (JL3); jp.add (jtf3); JP.Add (JL4); jp.add (jtf4); JP.Add (JB1); JP.Add (JB2); this.add (jp); this.setTitle ("Interface d'enregistrement"); this.setbounds (200, 100, 250, 150); this.setVisible (true); this.setDefaultCloseOperation (jframe.exit_on_close); // this.setResizable (false); } public void ActionPerformed (ActionEvent e) {if (e.getActionCommand () == "return") {this.dispose (); new UserRegister (); // System.out.println ("-------"); } else if (e.getActionCommand () == "Register") {// Appelant la méthode d'enregistrement this.zhuce (); }} public void zHuce () {String regex1 = "// w {3,6}"; // Le nom d'utilisateur doit être booléen booléen 3 à 6 bits = jtf1.getText (). Matches (regex1); String regex2 = "// w {6}"; // Le mot de passe doit être booléen 6 bits Flag2 = jtf2.getText (). Matches (regex2); String regex3 = "[// u4e00 - // u9fa5] {2,4}"; // Le nom doit être 2-4 caractères chinois booléen flag3 = jtf3.getText (). Matches (regex3); String regex4 = "// d {3,6}"; // Le numéro d'étudiant doit être booléen booléen 3 à 6 bits = jtf4.getText (). Matches (regex4); // if (jtf1.gettex JOptionPane.Warning_Message); jtf1.setText (""); } else if (Flag2 == false) {joptionpane.showMessageDialog (null, "le mot de passe est rempli de manière incorrecte, doit être 6 lettres ou numéros", "message d'invite", joptionpane.warning_message); jtf2.setText (""); } else if (Flag3 == false) {joptionpane.showMessageDialog (null, "remplissage de nom incorrect, les caractères chinois doivent être 2-4 chiffres", "message rapide", joptionpane.warning_message); jtf3.seTText (""); } else if (Flag4 == false) {joptionpane.showMessageDialog (null, "remplissage du numéro d'étudiant incorrect, doit être 3-6 chiffres", "message rapide", joptionpane.warning_message); JTF4.SETTEXT (""); } else {// L'appel de la méthode d'enregistrement / vérifiez d'abord si le nom d'utilisateur à enregistrer existe SqlServer SS = new SqlServer (); ss.connectsql (); SS.ZHUCEVERIFY (jtf1.getText ()); // SS.UserRegis (jtf1.getText (), jtf2.getText (), jtf3.getText (), jtf4.getText ()); this.jtf1.setText (""); this.jtf2.setText (""); this.jtf3.setText (""); this.jtf4.setText (""); }}} SqlServer.java implémente diverses fonctions telles que la connexion à la base de données et la vérification des requêtes.
package package1; Importer java.sql. *; import javax.swing.joptionpane; / * * Opérations liées aux bases de données, encapsulées séparément en classes * / class sqlServer {Connection CT; Préparetstatement PS; ResultSet RS; Utilisateur de chaîne, PWD; // encapsuler la méthode se connectant à la base de données dans une méthode public void connectsql () {try {class.forname ("Sun.jdbc.odbc.jdbcodbcdriver"); // Chargez le pilote ct = driverManager.getConnection ("jdbc: odbc: ywq"); // Get Connection System.out.println ("Base de données connectée ..."); } catch (exception e) {// TODO Bloc de capture généré automatiquement e.printStackTrace (); }} // Méthode pour l'enregistrement de l'utilisateur public void userRegis (String A, String B, String C, String D) {// Créer Rocket Try {ps = ct.PrepareStatement ("Insérer dans les valeurs des utilisateurs (? ,? ,?)"); ps.SetString (1, a); ps.SetString (2, b); PS.SetString (3, C); ps.SetString (4, d); // exécuter int i = ps.ExecuteUpdate (); if (i == 1) {jOptionPane.showMessageDialog (null, "Success enregistré", "message rapide", joptionpane.warning_message); } else {joptionpane.showMessageDialog (null, "registre a échoué", "message rapide", joptionpane.error_message); }} catch (sqlexception e) {// TODO Block de capture générée automatiquement e.printStackTrace (); }} // Méthode de vérification de connexion public void sqlverify (String A, String b) {try {ps = ct.preparestatement ("select * dans les utilisateurs où username =? Et mot de passe =?"); ps.SetString (1, a); ps.SetString (2, b); // le résultat de résultat de résultat, vous pouvez comprendre ResultSet comme le jeu de résultats qui renvoie une ligne de table RS = ps.ExecuteQuery (); if (Rs.Next ()) {user = Rs.GetString (1); PWD = Rs.GetString (2); JOptionPane.showMessageDialog (null, "connecter avec succès!!!", "Message rapide", joptionpane.warning_message); System.out.println ("obtenu avec succès le mot de passe et le nom d'utilisateur à partir de la base de données"); System.out.println (utilisateur + "/ t" + pwd + "/ t"); } else {joptionpane.showMessageDialog (null, "Le nom d'utilisateur ou le mot de passe est incorrect, veuillez vous remettre!", "Message invite", joptionpane.error_message); }} catch (sqlexception e) {e.printStackTrace (); }} // Registre de la méthode de vérification pour déterminer si le nom d'utilisateur a déjà le public void zHuceVify (String a) {try {ps = ct.preparestatement ("SELECT * FROM Users Where username =?"); // System.out.println (ps); ps.SetString (1, a); rs = ps.ExecuteQuery (); if (Rs.Next ()) {jOptionPane.showMessageDialog (null, "Ce nom d'utilisateur existe déjà", "Message rapide", joptionpane.warning_message); } else {// registre ui ui = new ui (); this.userregis (ui.jtf1.getText (), ui.jtf2.getText (), ui.jtf3.getText (), ui.jtf4.getText ()); }} catch (sqlexception e) {e.printStackTrace (); }}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.