Войдите в систему и зарегистрируйте небольшой код, объедините некоторые из небольших знаний, которые вы узнали, и используйте его, чтобы углубить свое впечатление. Если в этом примере есть какие -либо комментарии, обратитесь к другим блогам для получения подробной информации.
Введение функции: простой вход и систему регистрации, используя такие знания, как база данных SQLServer, Singleton Pattern, регулярные выражения и графическое развитие.
1. В интерфейсе входа в систему вы можете войти в систему или зарегистрировать пользователя. Зарегистрируйте пользовательский интерфейс и введите информацию в соответствии с требованиями формата, указанным в регулярном выражении. Если есть какие-либо ошибки, повторно введите.
2. Нажмите, чтобы зарегистрироваться и сначала подключиться к базе данных SQLServer. Если соединение будет успешным, оно определит, существует ли уже имя пользователя. Если он существует, будет дана подсказка. В противном случае, зарегистрируйтесь.
3. Войдите в интерфейс. Нажав кнопку входа в систему, сначала установите соединение с базой данных. Поиск в базе данных в соответствии с именем пользователя и паролем. Если это так, логин будет успешным. В противном случае дайте подсказку.
4. Используя режим Singleton, мы можем создать только объект SQLServer-подобного, который значительно сохраняет накладные расходы на память.
См.: Https://github.com/chaohuangtianjie994/a-login-register-system
5. На основании этого может быть выполнено большое количество функций расширения.
Код заключается в следующем:
UserGregister.java interface.
пакет пакета1; / * * Функция: интерфейс входа в систему имеет функцию регистрации, а интерфейс регистрации появляется. * Сохранить зарегистрированную информацию в базе данных, и вход может быть выполнен. *Автор: ywq */ import javax.swing. *; Импорт java.awt.*; импортировать java.awt.event.*; Импорт java.sql.*; открытый класс пользовательский регистр расширяет JFrame реализует ActionListener {// Определить компоненты интерфейса входа в систему 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 userGregister (); } public userRegister () {// Создать компонент // Создать компонент jb1 = new jbutton ("login"); jb2 = new jbutton ("Register"); jb3 = new jbutton ("exit"); // установить прослушивание jb1.addactionListener (это); JB2.AddactionListener (это); JB3.AddactionListener (это); jlb1 = new jlabel («Имя пользователя:»); jlb2 = new jlabel ("пароль:"); 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 (false); this.setTitle ("interface resign login interface"); this.setlayout (new Gridlayout (3,1)); this.setDefaultCloseoPeration (jframe.exit_on_close); this.SetBounds (300, 200, 300, 180); } @Override public void actionPerformed (actionEvent e) {// прослушивать каждую кнопку if (e.getActionCommand () == "exit") {System.Exit (0); } else if (e.getActionCommand () == "login") {// вызовать метод входа в систему this.login (); } else if (e.getActionCommand () == "Register") {// вызовать метод регистрации this.regis (); }} // Метод регистрации public void regis () {this.dispose (); // закрыть текущий интерфейс new UI (); // Откройте новый интерфейс} // Метод входа в систему public void login () {sqlServer s = new sqlServer (); s.connectsql (); S.SqlVerify (jtf.getText (), jpf.getText ()); this.jtf.settext ("" "); this.jpf.settext ("" "); }} UI.Java Page Display для регистрации. Регулярные выражения используются для указания входного содержимого. При регистрации вам нужно сначала определить, существует ли имя пользователя. Если он существует, дается подсказка, иначе зарегистрируйтесь.
пакет пакета1; импортировать java.awt.event.*; Импорт java.awt.*; импортировать javax.swing.*; / * * Регистрационный интерфейс. */class UI Extens JFrame реализует ActionListener {// определить компонент JFrame JF; JPanel JP; Jlabel JL1, JL2, JL3, JL4; JTextfield JTF1, JTF2, JTF3, JTF4; Jbutton JB1, JB2; public UI () {// инициализировать компонент JF = new jFrame (); jp = new jpanel (); jl1 = new jlabel («Пожалуйста, введите имя пользователя:»); jtf1 = new Jtextfield (10); jtf1.settooltiptext («Имя пользователя должно быть 3-6-цифровым номером буквы»); jl2 = new jlabel («Пожалуйста, введите пароль:»); jtf2 = new jtextfield (10); jtf2.settooltiptext («Пароль должен быть 6-значным номером witd_or»); jl3 = new jlabel («Пожалуйста, введите имя:»); jtf3 = new jtextfield (10); jtf3.settooltiptext («Имя должно быть 2-4 цифры китайских иероглифы»); jl4 = new jlabel («Пожалуйста, введите номер студента:»); jtf4 = new jtextfield (10); jtf4.settooltiptext («номер студента должен быть 3-6 цифр»); jb1 = new jbutton ("return"); jb1.settooltiptext («Нажмите меня, чтобы вернуться к интерфейсу входа в систему»); jb2 = new jbutton ("Register"); jb1.addactionListener (это); JB2.AddactionListener (это); 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 interface"); 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 user Register (); // System.out.println ("-------"); } else if (e.getActionCommand () == "Register") {// вызов метода регистрации this.zhuce (); }} public void zhuce () {string regex1 = "// w {3,6}"; // Имя пользователя должно быть 3-6-битным логическим флаг. String regex2 = "// w {6}"; // пароль должен быть 6-битный логический флаг2 = jtf2.getText (). Matches (regex2); String regex3 = "[// u4e00-// u9fa5] {2,4}"; // Имя должно быть 2-4 китайских и символов Boolean Flag3 = jtf3.getText (). Matches (regex3); String regex4 = "// d {3,6}"; // номер студента должен быть 3-6-битным логическим флаг4 = jtf4.getText (). Matches (regex4); // if (jtf1.getText () == null || jtf2.getText () == null || jtf3.getText () == null || jtf4.getText () == null) if (flag1 == false) {joptionpane.showmessagegedialog (null, «Имя пользователя неверно заполнено. Joptionpane.warning_message); jtf1.settext ("" "); } else if (flag2 == false) {joptionpane.showmessageDialog (null, «пароль заполняется неправильно, должно быть 6 букв или цифр», «Приглашенное сообщение», joptionpane.warning_message); jtf2.settext ("" "); } else if (flag3 == false) {joptionpane.showmessageDialog (null, «Неправильное наполнение имен, китайские иероглифы должны быть 2-4 цифр», «Приглашенное сообщение», JoptionPane.warning_message); jtf3.settext ("" "); } else if (flag4 == false) {joptionpane.showmessageDialog (null, «неверное заполнение номера студента, должно быть 3-6 цифр», «Приглашенное сообщение», joptionpane.warning_message); jtf4.settext ("" "); } else {// вызов метода регистрации/Сначала проверить, существует ли имя пользователя, существует 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 реализует различные функции, такие как подключение к базе данных и проверке запроса.
пакет пакета1; Импорт java.sql.*; импортировать javax.swing.joptionpane; /** Операции, связанные с базами данных, инкапсулируются отдельно в классы*/ class sqlserver {connection ct; Подготовлено PS; Результат RS; String пользователь, pwd; // инкапсулируют метод, соединяющий с базой данных в метод public void connectSql () {try {class.forname ("sun.jdbc.odbc.jdbcodbcdriver"); // Загрузите драйвер CT = DriverManager.getConnection ("jdbc: ODBC: YWQ"); // Получить систему соединения.out.println ("Подключенная база данных ..."); } catch (Exception e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} // Метод для регистрации пользователя public void userRegis (String A, String B, String C, String D) {// Создать ракету Try {ps = ct.prepareStatement ("Вставка в значения пользователей (?,?,?)"); Ps.SetString (1, A); Ps.setstring (2, b); Ps.setstring (3, c); Ps.SetString (4, D); // выполнить int i = ps.executeUpdate (); if (i == 1) {joptionpane.showmessageDialog (null, «зарегистрированный успех», «Приглашенное сообщение», JoptionPane.warning_message); } else {joptionpane.showmessageDialog (null, "Регистр сбой", "Приглашенное сообщение", joptionpane.error_message); }} catch (sqlexception e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} // Метод проверки входа в систему public void sqlVerify (String a, String b) {try {ps = ct.preparestatement ("select * из пользователей, где username =? И пароль =?"); Ps.SetString (1, A); Ps.setstring (2, b); // Набор результатов результатов, вы можете понять результаты, как набор результатов, который возвращает строку таблицы rs = ps.executequery (); if (rs.next ()) {user = rs.getString (1); pwd = rs.getstring (2); Joptionpane.showmessageDialog (null, "Вход успешно!!!", "Приглашенное сообщение", joptionpane.warning_message); System.out.println («успешно получил пароль и имя пользователя из базы данных»); System.out.println (user + "/t" + pwd + "/t"); } else {joptionPane.showmessageDialog (null, «Имя пользователя или пароль неверно, пожалуйста, повторно введите!», «Приглашенное сообщение», Joptionpane.error_message); }} catch (sqlexception e) {e.printstacktrace (); }} // Метод проверки регистрации, чтобы определить, имеет ли имя пользователя public void zhuceverify (String a) {try {ps = ct.preparestatement ("select * из пользователей, где username =?"); // System.out.println (PS); Ps.SetString (1, A); rs = ps.executequery (); if (rs.next ()) {joptionpane.showmessageDialog (null, «это имя пользователя уже существует», «Приглашенное сообщение», Joptionpane.warning_message); } else {// зарегистрировать UI ui = new UI (); this.userregis (ui.jtf1.getText (), ui.jtf2.getText (), ui.jtf3.getText (), ui.jtf4.getText ()); }} catch (sqlexception e) {e.printstacktrace (); }}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.