Melden Sie sich an und registrieren Sie den kleinen Code, kombinieren Sie einige der kleinen Wissen, die Sie gelernt haben, und verwenden Sie ihn, um Ihren Eindruck zu vertiefen. Wenn in diesem Beispiel Kommentare vorhanden sind, finden Sie in anderen Blogs für Einzelheiten.
Funktion Einführung: Ein einfaches Anmelde- und Registrierungssystem, das Wissen wie Datenbank SQLServer, Singleton -Muster, reguläre Ausdrücke und grafische Entwicklung verwendet.
1. In der Anmeldeschnittstelle können Sie einen Benutzer anmelden oder registrieren. Registrieren Sie die Benutzeroberfläche und geben Sie Informationen gemäß den im regulären Ausdruck angegebenen Formatanforderungen ein. Wenn es einen Fehler gibt, gehen Sie wieder ein.
2. Klicken Sie hier, um sich zu registrieren und zuerst eine Verbindung zur SQLServer -Datenbank herzustellen. Wenn die Verbindung erfolgreich ist, wird bestimmt, ob der Benutzername bereits vorhanden ist. Wenn es existiert, wird eine Eingabeaufforderung angegeben. Ansonsten registrieren Sie sich.
3.. Melden Sie sich in der Schnittstelle an. Stellen Sie beim Klicken auf die Schaltfläche Anmeldung zunächst eine Verbindung mit der Datenbank her. Suchen Sie in der Datenbank gemäß dem Benutzernamen und dem Kennwort. In diesem Fall ist das Login erfolgreich. Andernfalls geben Sie eine Eingabeaufforderung an.
4. Mit dem Singleton-Modus können wir nur ein Objekt von SQLServer-ähnlich erstellen, das den Speicheraufwand stark speichert.
Siehe: https://github.com/chaohuangtianjie994/a-login-register-System
5. Auf dieser Grundlage kann eine große Anzahl von Expansionsfunktionen ausgeführt werden.
Der Code ist wie folgt:
UserRegister.java Anmeldinschnittstelle.
Paketpaket1; / * * Funktion: Die Anmeldeschnittstelle hat die Registrierungsfunktion und die Registrierungsschnittstelle wird angezeigt. * Speichern Sie die registrierten Informationen in der Datenbank und melden Sie sich an. *Autor: YWQ */ Import Javax.swing. *; import Java.awt.*; import Java.awt.event.*; Java.sql.*importieren; Public Class UserRegister erweitert JFrame implementiert ActionListener {// Definieren Sie die Komponenten der Anmeldestelle 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 () {// Komponente erstellen // Komponente jb1 = new Jbutton ("Login"); JB2 = New Jbutton ("Register"); JB3 = New Jbutton ("Exit"); // Hören jb1.addactionListener (this) festlegen; JB2.AddActionListener (dies); JB3.AddActionListener (dies); jlb1 = new JLabel ("Benutzername:"); JLB2 = new JLabel ("Passwort:"); 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.setResizable (falsch); this.settitle ("Anmeldeschnittstelle registrieren"); this.setLayout (neuer GridLayout (3,1)); this.setDefaultCloseOperation (jframe.exit_on_close); this.Setbounds (300, 200, 300, 180); } @Override public void actionPerformed (actionEvent e) {// Hören Sie sich jede Schaltfläche an if (e.getActionCommand () == "exit") {System.exit (0); } else if (e.getActionCommand () == "Login") {// rufen Sie die Anmeldethode this.login () an; } else if (e.getActionCommand () == "Register") {// Rufen Sie die Registrierungsmethode this.regis () an; }} // Methode public void regis () {this.dispose (); // die aktuelle Schnittstelle neue UI () schließen; // Öffnen Sie die neue Schnittstelle} // Login -Methode public void login () {SQLServer s = new SQLServer (); S.ConnectSQL (); ssqlverify (jtf.getText (), jpf.getText ()); this.jtf.setText (""); this.jpf.setText (""); }} Ui.java Seite Anzeige zur Registrierung. Regelmäßige Ausdrücke werden verwendet, um den Eingabeinhalt anzugeben. Bei der Registrierung müssen Sie zunächst feststellen, ob der Benutzername vorliegt. Wenn es existiert, wird eine Eingabeaufforderung angegeben, ansonsten registrieren Sie sich.
Paketpaket1; import Java.awt.event.*; import Java.awt.*; Javax.swing importieren.*; / * * Registrierungsschnittstelle. */class ui erweitert JFrame implementiert actionListener {// Komponente jFrame jf; JPanel JP; JLabel JL1, JL2, JL3, JL4; JTextField JTF1, JTF2, JTF3, JTF4; Jbutton JB1, JB2; public UI () {// Komponente initialisieren jf = new JFrame (); JP = new Jpanel (); jl1 = new JLabel ("Bitte geben Sie den Benutzernamen ein:"); jtf1 = new JTextField (10); JTF1.SETTOOLTIPTEXT ("Der Benutzername muss 3-6-stellige Buchstaben_OR-Zahlen sein"); jl2 = new JLabel ("Bitte ein Kennwort eingeben:"); JTF2 = new JTextField (10); JTF2.SettoolTipText ("Passwort muss 6-stellige Buchstaben"); jl3 = new JLabel ("Bitte geben Sie den Namen ein:"); jtf3 = new JTextField (10); jtf3.settooltipText ("Der Name muss 2-4 Ziffern chinesischer Zeichen sein"); JL4 = new JLabel ("Bitte geben Sie die Schülernummer ein:"); JTF4 = new JTextField (10); JTF4.SettoolTipText ("Studentnummer muss 3-6 Ziffern sein"); JB1 = neuer Jbutton ("return"); jb1.settooltipText ("Klicken Sie auf mich, um zur Anmeldinschnittstelle zurückzukehren"); JB2 = New Jbutton ("Register"); JB1.AddactionListener (dies); JB2.AddActionListener (dies); 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 ("Register -Schnittstelle"); this.Setbounds (200, 100, 250, 150); this.setvisible (true); this.setDefaultCloseOperation (jframe.exit_on_close); // this.setResizable (falsch); } public void actionPerformed (actionEvent e) {if (e.getActionCommand () == "return") {this.DiSonSe (); neuer userregister (); // system.out.println ("-------"); } else if (e.getActionCommand () == "Register") {// die Registrierungsmethode this.zhuce () aufrufen; }} public void zhuce () {String regex1 = "// w {3,6}"; // Der Benutzername muss 3-6-Bit-Boolean Flag1 = Jtf1.Getext (). String regex2 = "// w {6}"; // Das Passwort muss 6-Bit-Boolean Flag2 = JTF2.GETTEXT (). String regex3 = "[// u4e00-// u9fa5] {2,4}"; // Der Name muss 2-4 chinesische Zeichen boolean flag3 = jtf3.getText (). Übereinstimmung (regex3); String regex4 = "// d {3,6}"; // Die Schülernummer muss 3-6-Bit-Boolean Flag4 = JTF4.GETTEXT (). Übereinstimmung (regex4); // if(jtf1.getText()==null||jtf2.getText()==null||jtf3.getText()==null||jtf4.getText()==null) if(flag1==false) { JOptionPane.showMessageDialog(null, "User name is filled incorrectly, must be 3-6 letters or numbers", "Prompt message", JOPTIONPANE.WARNING_MESSAGE); jtf1.setText (""); } else if (flag2 == false) {joptionpane.showMessagedialog (null, "Kennwort wird falsch gefüllt, 6 Buchstaben oder Zahlen", "Eingabeaufforderung", joptionpane.Warning_Message); jtf2.setText (""); } else if (flag3 == false) {joptionpane.showMessagedialog (null, "Falsche Namensfüllung, chinesische Zeichen müssen 2-4 Ziffern sein", "Eingabeaufforderung", joptionpane.warning_message); jtf3.setText (""); } else if (flag4 == false) {joptionpane.showMessagedialog (null, "falsche Schülernummerfüllung, muss 3-6 Ziffern", "Eingabeaufforderung", joptionpane.warning_message) sein; jtf4.setText (""); } else {// Aufrufen der Registrierungsmethode/Überprüfen Sie zuerst, ob der zu registrierte Benutzername sqlServer ss = new SQLServer () vorhanden ist. 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 implementiert verschiedene Funktionen wie die Verbindung zur Datenbank und die Abfrageüberprüfung.
Paketpaket1; Java.sql.*importieren; import Javax.swing.joptionpane; /** Operationen, die sich auf Datenbanken beziehen, die getrennt in Klassen eingekapselt sind*/ Klasse SQLServer {Verbindung ct; PrepedStatement ps; Ergebnisset Rs; String -Benutzer, PWD; // Die Methode, die mit der Datenbank eine Methode verbindet, in eine Methode public void ConnectSQL () {try {class.forname ("sun.jdbc.odbc.jdbcodbcDriver"); // Laden Sie den Treiber ct = driverManager.getConnection ("JDBC: ODBC: YWQ"); // Verbindung system.out.println ("Connected Database ...") erhalten; } catch (Ausnahme e) {// Todo automatisch generierter Block E. printstacktrace (); }} // Methode zur Registrierung des Benutzer public void userregis (Zeichenfolge A, String B, String C, String D) {// Rocket -Try {ps = ct.preparestatement ("In Benutzerwerte einfügen (?,?,?,?)"); ps.setstring (1, a); ps.setstring (2, b); ps.setstring (3, c); ps.setstring (4, d); // int i = ps.executeUpdate () ausführen; if (i == 1) {joptionpane.showMessagedialog (null, "registrierter Erfolg", "Eingabeaufforderung", joptionpane.Warning_message); } else {joptionpane.showMessagedialog (null, "Register fehlgeschlagen", "Eingabeaufforderung", joptionpane.ERROR_MESSAGE); }} catch (SQLEXception e) {// Todo automatisch generierter Fangblock E. printstacktrace (); }} // Anmeldeverifizierungsmethode public void sqlverify (String A, String B) {try {ps = ct.preparestatement ("SELECT * von Benutzern, wo userername =? Und password =?"); ps.setstring (1, a); ps.setstring (2, b); // Ergebniset -Ergebnis -Set, Sie können das Ergebnissatz als Ergebnis festlegen, das eine Tabellenzeile rs = ps.executeQuery () zurückgibt. if (rs.Next ()) {user = rs.getString (1); pwd = rs.getString (2); Joptionpane.showMessagedialog (null, erfolgreich anmelden!! System.out.println ("erfolgreich das Passwort und den Benutzernamen aus der Datenbank erhalten"); System.out.println (Benutzer + "/t" + pwd + "/t"); } else {joptionpane.showMessagedialog (NULL, "Benutzername oder Kennwort ist falsch, bitte wieder eintreten!", "Eingabeaufforderung", joptionpane.error_message); }} catch (sqlexception e) {e.printstacktrace (); }} // Verifizierungsmethode registrieren, um festzustellen, ob der Benutzername bereits public void Zhuceverify (Zeichenfolge a) {try {ps = ct.preparestatement hat ("SELECT * von Benutzern, wobei Benutzername =?"); // system.out.println (ps); ps.setstring (1, a); rs = ps.executeQuery (); if (rs.Next ()) {joptionpane.showMessagedialog (null, "Dieser Benutzername existiert bereits", "Eingabeaufforderung", joptionpane.Warning_Message); } else {// Registrieren Sie UI ui = new UI (); this.userregis (ui.jtf1.getText (), ui.jtf2.getText (), ui.jtf3.getText (), ui.jtf4.getText ()); }} catch (sqlexception e) {e.printstacktrace (); }}}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.