java用戶登錄,java用戶登錄驗證最多驗證三次

本文目錄一覽:

如何用JAVA編寫一個簡單用戶登陸界面?

什麼都不說了 直接給你代碼吧

package com.moliying.ui;

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.List;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedWriter;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.util.ArrayList;

import java.util.Arrays;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class Login {

private JFrame frame = new JFrame(“登錄”);

private Container c = frame.getContentPane();

private JTextField username = new JTextField();

private JPasswordField password = new JPasswordField();

private JButton ok = new JButton(“確定”);

private JButton cancel = new JButton(“取消”);

public Login() {

frame.setSize(300, 200);

frame.setBounds(450, 300, 300, 200);

c.setLayout(new BorderLayout());

initFrame();

frame.setVisible(true);

}

private void initFrame() {

// 頂部

JPanel titlePanel = new JPanel();

titlePanel.setLayout(new FlowLayout());

titlePanel.add(new JLabel(“系統管理員登錄”));

c.add(titlePanel, “North”);

// 中部表單

JPanel fieldPanel = new JPanel();

fieldPanel.setLayout(null);

JLabel a1 = new JLabel(“用戶名:”);

a1.setBounds(50, 20, 50, 20);

JLabel a2 = new JLabel(“密 碼:”);

a2.setBounds(50, 60, 50, 20);

fieldPanel.add(a1);

fieldPanel.add(a2);

username.setBounds(110, 20, 120, 20);

password.setBounds(110, 60, 120, 20);

fieldPanel.add(username);

fieldPanel.add(password);

c.add(fieldPanel, “Center”);

// 底部按鈕

JPanel buttonPanel = new JPanel();

buttonPanel.setLayout(new FlowLayout());

buttonPanel.add(ok);

buttonPanel.add(cancel);

c.add(buttonPanel, “South”);

ok.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

System.out.println(username.getText().toString());

}

});

cancel.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

frame.setVisible(false);

}

});

}

public static void main(String[] args) {

// new Login();

String ss = “abbabbbaabbbccba”;

System.out.println(ss.split(“b”).length);

}

}

JAVA單用戶登錄怎麼實現

我做過的一個項目是使用XML傳輸來實現的。首先客戶端登錄請求,服務器判斷是否合法,合法就返回一個ticket碼,客戶端需要記錄這個ticket碼,服務器也需要將ticket記錄到數據庫裡面,以後客戶端的連接就通過ticket來判斷識別是哪個用戶。其實用XML做數據交換是肯定能實現的,只是麻煩的點,但是好處是對於C做的客戶端照樣通用。如果你只是需要簡單的登錄的話,也可以把XML交換換成HTTP請求,將用戶名和密碼放在請求報文的頭裡面。

java語言實現用戶註冊和登錄

//這個是我寫的,裡面有連接數據庫的部分。你可以拿去參考一下

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

class LoginFrm extends JFrame implements ActionListener// throws Exception

{

JLabel lbl1 = new JLabel(“用戶名:”);

JLabel lbl2 = new JLabel(“密碼:”);

JTextField txt = new JTextField(5);

JPasswordField pf = new JPasswordField();

JButton btn1 = new JButton(“確定”);

JButton btn2 = new JButton(“取消”);

public LoginFrm() {

this.setTitle(“登陸”);

JPanel jp = (JPanel) this.getContentPane();

jp.setLayout(new GridLayout(3, 2, 5, 5));

jp.add(lbl1);

jp.add(txt);

jp.add(lbl2);

jp.add(pf);

jp.add(btn1);

jp.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent ae) {

if (ae.getSource() == btn1) {

try {

Class.forName(“com.mysql.jdbc.Driver”);// mysql數據庫

Connection con = DriverManager.getConnection(

“jdbc:mysql://localhost/Car_zl”, “root”, “1”);// 數據庫名為Car_zl,密碼為1

System.out.println(“com : “+ con);

Statement cmd = con.createStatement();

String sql = “select * from user where User_ID='”

+ txt.getText() + “‘ and User_ps='”

+ pf.getText() + “‘” ;

ResultSet rs = cmd

.executeQuery(sql);// 表名為user,user_ID和User_ps是存放用戶名和密碼的字段名

if (rs.next()) {

JOptionPane.showMessageDialog(null, “登陸成功!”);

} else

JOptionPane.showMessageDialog(null, “用戶名或密碼錯誤!”);

} catch (Exception ex) {

}

if (ae.getSource() == btn2) {

System.out.println(“1111111111111”);

//txt.setText(“”);

//pf.setText(“”);

System.exit(0);

}

}

}

public static void main(String arg[]) {

JFrame.setDefaultLookAndFeelDecorated(true);

LoginFrm frm = new LoginFrm();

frm.setSize(400, 200);

frm.setVisible(true);

}

}

Java用戶登入問題,如果用戶登入成功,我將用戶對象存放到Session里,如果多個用戶同時登入怎麼辦?

第一種方式,每次登錄 都需要操作數據庫,多了一些不必要的性能開銷,而且在登錄狀態下 萬一突然電腦關閉了,那就永遠都不能登錄了,可用性比較低。

但是第二種方式就不一樣了,可操作性強,很方便維護所有在線用戶的信息。

在處理登錄的login方法中,先查詢數據庫驗證下該用戶是否存在,如果存在 判斷該登錄賬戶是否已經鎖定了, 然後從application內置作用域對象中取出所有的登錄信息,查看該username賬戶是否已經登錄,如果登錄了,就友好提示下,反之表示可以登錄,將該登錄信息以鍵值對的方式保存在application中。

1、將用戶的登錄信息用一個標誌位的字段保存起來,每次登錄成功就標記1,註銷登錄就標記為0,當標記為1的時候不允許別人登錄。

2、將用戶的登錄信息保存在application內置作用域內, 然後利用session監聽器監聽每一個登錄用戶的登錄情況。

Java製作一個用戶登錄的窗口

Java用戶登陸這塊,主要還是類:

1,邊界布局:BorderLayout。他主要分為五個布局,是JFrame(頂層容器),JDialog(創建對話框窗口的類)的默認布局方式。其最多容量為5個組件,超出5個得用其他的。設置方式為:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。

2,流式布局:FlowLayout。布局方式為從左到右,從上到下。是JPanel(輕量級容器)的默認面板布局。

3,網格布局:GridLayout。布局方式為行和列組成的網絡。布局方法:setLayout(new

GridLayout(3,2,3,3));其中強兩位數字表示三行兩列,後兩位表示行與行的間距為3,列與列的間距為3.

接着,就接觸到JPanel面板。JPanel是非頂層容器,所以,一個界面只能由一個JFrame,但是可以有多個JPanel組件。其默認布局方式為流式布局。在JPanel這塊,學到了用戶登錄界面的設計。從而接觸到另外三個組件:文本框組件:JTextField;密碼框組件:JPasswordField;標籤組件:JLabel;複選框組件:JCheckBox;單選框組件:JRadioButton;按鈕組件JButton。

原創文章,作者:JMIQ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/144144.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JMIQ的頭像JMIQ
上一篇 2024-10-24 15:27
下一篇 2024-10-24 15:27

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論