本文目錄一覽:
性能測試中如何使用java批量註冊登錄賬戶
性能測試中示例代碼使用java批量註冊登錄賬戶。
性能測試過程中所需的測試數據,以登錄為例,為了更真實的模 批量讀取註冊。
Java登錄註冊功能實現代碼解析,文中通示例代碼,每個用戶信息都是唯一的,所以可以藉助Set的特性來操作用戶信息的存放。
求大神指導如何設計Java的登陸註冊系統
本系統分為兩個功能:
註冊和登錄,
當用戶註冊一個新用戶時
(可以使用英
文和中文用戶名)
,就是向資料庫的
user
表中添加一條記錄。
當用戶輸入註冊信息時,
本系統提供了基本的客戶端驗證,
來判斷用戶輸入
的合法性,
只有當用戶的輸入滿足系統的要求時,
才會將用戶輸入的數據提交到
伺服器端負責處理註冊信息的
Action
。
在註冊
Action
成功處理完用戶提交的注
冊信息後,
客戶端仍然會回到註冊頁面。
如果用戶想使用已經註冊的用戶名來登
錄,可以通過單擊「登錄」超鏈接轉到登錄頁面進行登錄。
當用戶在登錄頁面正確輸入在資料庫中已經存在的用戶名和密碼時,
就可以
成功登錄了。
在用戶登錄頁面也擁有和用戶註冊頁面類似的客戶端驗證機制。
也
就是說,
只有當用戶名和密碼都輸入時,
系統才會向伺服器端負責登錄的
Action
提交信息。通過驗證用戶名和密碼都正確,系統才允許登錄。
系統總體結構
本系統的註冊系統和登錄系統是相互獨立的,
但可以通過使用註冊和登錄系
統的相應超鏈接導航到另一個系統中。每一個系統分別由一個處理業務邏輯的
Action
、
DAO
層代碼和若干個
JSP
頁面組成。其中註冊系統的
Action
是
RegisterAction
類,
另外還有一個用於顯示用戶註冊頁面的
register.jsp
文件
和
一
個
負
責
顯
示
處
理
結
果
的
result.jsp
文
件
。
登
錄
系
統
的
Action
是
LoginAction
類,
另外還有一個
login.jsp
文件和一個表示用戶已經成功登錄的
success.jsp
文件
3
、
實
現系統的基礎類
在這一部分內容中將實現在註冊登錄系統中使用的一些重要的類,
如用於操
作資料庫的
UserDAO
介面及其實現類。
這些類在整個系統中都起著舉足輕重的作
用。
3.1
實現訪問資料庫的
UserDAO
類
UserDAO
實際上是一個介面,
由於註冊系統和登錄系統都需要訪問和操作數
據庫,
因此,
將這些功能都封裝在
UserDAO
介面中,
然後
UserDAOImpl
類對該接
口進行實現,這樣,在
LoginAction
類和
RegisterAction
類的類體中添加
UserDAO
類型的屬性,這兩個
Action
就都可以訪問和操作資料庫了。
UserDAO
介面及其實現類有以下功能:
通過
HibernateTemplate
對資料庫進行連接和操作
對資料庫進行增刪查改操作。
執行
hql
。
UserDAO介面和UserDAOImpl
類的實現代碼請查看UserDAO.java和UserDAOImpl.java文件。
實現MD5加密(選做)
本系統保存在資料庫中的密碼是通過
MD5
演算法加密的。
在
JDK
中提供了實現
MD5
演算法的類。
通過
java.security.MessageDigest
類的
getInstance
方法可以
獲得支持
MD5
演算法的
MessageDigest
對象實例。關於
MD5
加密,詳見關於
MD5
加密
.doc
文檔。
由於被
MD5
演算法加密後的字元串中可能含有非可視的字元,
這些字元可能無
法保存在資料庫中,因此,需要將被加密後的字元串再次使用
Base64
格式進行
編碼。實現
MD5
加密的完整代碼見
Encrypter.java
6
4
、
實現註冊系統
在這個系統中,有一個處理用戶提交的註冊信息的
RegisterAction
類,除
此之外,還有一個
register.jsp
,這個頁面負責顯示註冊頁面。當
Register
類
處理完註冊信息後,
如果註冊成功,
會轉向
result.jsp
頁面,
如果註冊不成功,
則直接返回
register.jsp,
可以重新註冊。
1.
實現註冊
RegisterAction
類
RegisterAction
類負責處理用戶提交的註冊信息。如果註冊信息正確,就
向
user
表中添加一條記錄,否則,會通過消息對話框顯示出現消息。
在開始處理用戶註冊信息之前,
需要先在
RegisterAction
類中添加
userDAO
屬性,這樣通過該屬性就可以對資料庫進行操作。然後向
user
表中插入記錄之
前,
需要先判斷一下用戶輸入的用戶名或者密碼是否有效,
如果用戶名和密碼輸
入都合法,
就調用
userDAO
屬性的
save
方法向
user
表中根據用戶輸入的信息插
入一條記錄。如果無法成功插入記錄,說明該用戶名在
user
表中已經存在了。
為了更穩妥,
我們可以先使用
select
語句來查詢用戶名是否存在,
然後再向
user
表中插入記錄。
RegisterAction
類的完整代碼見
RegisterAction.java
。
2.
實現註冊系統的主頁面
Register.jsp
頁面是顯示了用戶輸入註冊信息的頁面。
在
register.jsp
中
使用
form
向Register類提交註冊信息。
register.jsp頁面的代碼見
register.jsp
。
3.
實現結果
JSP頁面
在Register類處理完註冊信息後,如果註冊成功,就會轉向到result.jsp頁面。
這個頁面顯示了註冊成功的結果,並且可以直接通過超鏈,轉向到登錄頁面login.jsp
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編寫註冊登錄程序
什麼都不說了 直接給你代碼吧
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);
}
}
原創文章,作者:NWIOS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324963.html