本文目录一览:
性能测试中如何使用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);
}
}