`

Java用户信息注册与登录系统

    博客分类:
  • java
 
阅读更多

//经典案例:用户注册与登录系统
//用户注册/登陆,将用户注册信息写入文件,注册时匹配填写信息
//当登录时,若用户已经存在时,显示登陆成功;否则登录失败

//****运用到的技能:对象序列化与反序列化,输入与输出流,事件与窗体监听,用户类和线性表的使用

//****注意事项:见程序末尾。

//主要方法:产生界面方法,写入文件方法,从文件中读取,信息匹配等

package day1;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

import javax.swing.*;

public class userRegister implements ActionListener {
ArrayList<User> list = new ArrayList<User>();
JTextField jtf1 = new JTextField(14);
JTextField jtf2 = new JTextField(14);
JTextField jtf3 = new JTextField(14);
JTextField jtf4 = new JTextField(14);
JFrame jf;


public userRegister() throws Exception {
createGUI();
}
//当事件发生时,自动调用actionPerformed()方法
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if ("注册".equals(str)) {
User user = new User();
user.setUserName(jtf1.getText());
user.setPassWord(jtf2.getText());
user.setEmail(jtf4.getText());
String rePassWord = jtf3.getText();
if (!(user.getPassWord().equalsIgnoreCase(rePassWord))) {
jtf2.setText("密码输入错误");
jtf3.setText("密码输入错误");
} else {
jf.setTitle("注册成功" + "欢迎您" + user.getUserName());
jtf2.setText("******");
jtf3.setText("******");
list.add(user);
}
} else if ("登录".equals(str)) {
try {
readFromFile();
} catch (Exception e1) {

e1.printStackTrace();}}}
//createGui()方法,用于生成图形用户界面
public void createGUI() {
jf = new JFrame("用户注册");
//当用户关闭窗口时,多个用户信息自动保存到本地文件系统(通过调用writeToFile()方法)
jf.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
try {
writeToFile();
} catch (IOException e1) {
e1.printStackTrace();
}
System.exit(0);
}
});
jf.setLayout(new GridLayout(4, 2));
JPanel jp1 = new JPanel();
jf.add(jp1);
JLabel jl1 = new JLabel("User Name:");
jp1.add(jl1);jp1.add(jtf1);
JPanel jp2 = new JPanel();
jf.add(jp2);
JLabel jl2 = new JLabel("Pass Word:");
jp2.add(jl2);jp2.add(jtf2);
JPanel jp3 = new JPanel();
jf.add(jp3);
JLabel jl3 = new JLabel("ReInputPwd:");
jp3.add(jl3);
jp3.add(jtf3);
JPanel jp4 = new JPanel();
jf.add(jp4);
JLabel jl4 = new JLabel("E-mail:");
jp4.add(jl4);jp4.add(jtf4);
JPanel jp5 = new JPanel();
jf.add(jp5);
JButton jb51 = new JButton("注册");
jb51.addActionListener(this);
JButton jb52 = new JButton("登录");
jb52.addActionListener(this);
jp5.add(jb51);jp5.add(jb52);
jf.setSize(500, 300);
jf.setVisible(true);
}


//readFromFile()方法用于从文件中读取用户对象信息,并将用户对象添加进线性表(list)
public void readFromFile() throws IOException, Exception {
FileInputStream fis = new FileInputStream(new File(
"d:\\userRegister.dat"));
ObjectInputStream ois = new ObjectInputStream(fis);
User read = null;
try {
while (true) {
read = (User) ois.readObject();
if (read == null) {
break;
}
list.add(read);
}
} catch (Exception e) {
}
// System.out.println(list);
User temp = new User(jtf1.getText(), jtf2.getText(), "q");
match(temp);
ois.close();
}
//writeToFile()方法,实现用户信息保存功能。
public void writeToFile() throws IOException {
File file = new File("d:\\userRegister.dat");
file.createNewFile();
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(
file));
for (User usr : list) {
oos.writeObject(usr);
}
oos.flush();
oos.close();
}


//当用户试图登录时,match()方法可以将用户输入与保存的信息,进行匹配。
//如果用户名和密码正确,登录成功;否则,登录失败。
public void match(User user) {
boolean match = false;
for (User usr : list) {
if (usr.getUserName().equals(user.getUserName())
&& usr.getPassWord().equals(user.getPassWord())) {
jf.setTitle("登录成功");
match = true;
break;
}
}
if (!match) {
jf.setTitle("用户名或密码错误,请重新输入!");
jtf1.setText("");
jtf2.setText("");
jtf3.setText("");
jtf4.setText("");
jtf1.requestFocus();
}
}

public static void main(String[] args) throws Exception {
new userRegister();
}
}


//------------------------------------------------------------//

User类是个用户信息类,包括userName,passWord,email等属性。
public class User implements java.io.Serializable {
private String userName;
private String passWord;
private String email;
public User() {
}
public User(String userName, String passWord, String email) {
super();
this.setUserName(userName);
this.setPassWord(passWord);
this.setEmail(email);
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}

public String toString(){
return userName+":"+passWord+":"+email;
}
}

//徐亮:如果将文件保存为txt等有一定格式的文件,对象读取与写入可能会发生错误。


本篇文章来自Java中文网:http://www.javaweb.cc/other/code/282093.shtml

分享到:
评论

相关推荐

    Java用户信息注册与登录系统.pdf

    在Java编程中,构建用户信息注册与登录系统是一项常见的任务,尤其对于初学者而言,它是一个很好的实践项目,能够帮助理解面向对象编程、文件操作、事件处理等核心概念。在这个系统中,用户的信息(如用户名、密码、...

    java实现简单登录注册系统

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个简单的登录注册系统。这个系统将包含用户注册、数据存储以及用户登录的基本功能。通过学习这个系统,你可以掌握Java中的核心概念,如面向对象编程、控制流、...

    Java实验报告——用户登录系统

    【Java实验报告——用户登录系统】的实验主要围绕Java异常处理机制展开,旨在让学生深入理解和掌握Java中的异常处理。在用户登录系统这个实际场景中,实验者需要运用异常处理来确保程序的健壮性。 首先,实验的核心...

    Java EE--注册登录系统

    【Java EE--注册登录系统】是一个基于Java EE平台开发的用户管理系统,主要目的是实现用户注册和登录的功能。在这个系统中,开发人员利用了Servlet作为服务器端处理程序,JSP(JavaServer Pages)作为动态网页技术,...

    java用户注册登录系统java用户注册登录系统

    java用户注册登录系统

    JAVA做的用户登录、注册、查询、修改、删除简单系统

    在本资源中,我们主要探讨的是使用JAVA编程语言构建一个基础的用户管理系统,包括用户登录、注册、查询、修改和删除功能。这个系统对于JAVA初学者来说是一个很好的实践项目,因为它涵盖了诸多基础且重要的编程概念和...

    java用户注册管理系统

    Java用户注册管理系统是一款专为Java学习者设计的实用软件,旨在帮助他们理解并实践用户管理的相关功能。在本文中,我们将深入探讨这个系统的几个关键知识点,包括系统架构、核心技术、功能实现以及对开发者技能的...

    java web 登陆注册系统

    总结,Java Web登录注册系统是Java开发中的基础实践,涵盖了Web开发的多个关键环节,包括前后端交互、数据库操作、用户认证和授权、错误处理、安全策略以及部署流程。理解和掌握这些知识点对于任何Java Web开发者来...

    java注册登录修改

    在Java Web开发中,"java注册登录修改"通常是指创建一个包含用户注册、登录和信息修改功能的Web应用程序。这个应用程序可能使用了JavaBean、Servlet和JSP(JavaServer Pages)技术来实现后端逻辑和服务,以及前端...

    基于java swing的学生信息管理系统.zip

    在这个基于Java Swing的学生信息管理系统中,开发者利用Swing的强大功能,实现了对学 生信息的全面管理,包括登录、注册以及对学生信息的展示、添加、修改、删除和查询等核心功能。 首先,系统的核心是登录模块。在...

    java 登陆注册系统实例

    总结来说,"Java 登录注册系统实例"是一个很好的学习项目,它涵盖了密码加密、数据库连接池、HTTP 请求处理以及用户信息管理等多个重要主题,为初学者提供了全面了解 Web 应用开发的机会。通过亲手实践,你将能够...

    java 连接数据库实现用户登录功能

    在Java编程中,连接数据库以实现用户登录功能是一项基础但重要的任务。这通常涉及到数据库的交互,如查询、验证用户凭据等。本教程将详细解释如何使用Java连接Oracle数据库来实现这一功能。 首先,我们需要了解Java...

    Java源码注册登录

    在Java编程领域,"Java源码注册登录"通常是指创建一套完整的用户注册和登录系统,这个系统涵盖了前端界面、后端逻辑以及与数据库的交互。在这个项目中,我们看到涉及的技术主要是Java、JSP(JavaServer Pages)以及...

    java论坛会员注册系统

    【Java论坛会员注册系统】是面向Java初学者和开发者的一款实用工具,旨在提供一个互动交流的平台,让学习者能够更好地理解和实践Java编程语言在实际项目中的应用。这个系统不仅涵盖了基础的用户注册功能,还可能包括...

    Java 开源用户管理系统

    这个系统的核心目标是帮助用户有效地管理和操作用户数据,如注册、登录、权限分配等。 在Java世界中,开源意味着源代码对公众开放,允许任何人查看、使用、修改和分发。这种开放性使得Java开源用户管理系统具有高度...

    java注册登陆系统

    Java注册登录系统是一个基础但至关重要的软件工程实践项目,它涵盖了后端开发的核心技术,如数据库交互、用户身份验证以及安全措施。本项目使用了Java Standard Edition(JavaSE)作为主要编程语言,并结合SQL ...

    java 用户注册登录验证码

    在Java编程语言中,用户注册和登录功能是任何应用程序的核心组成部分,而验证码的引入则可以增强系统的安全性,防止恶意的自动脚本或机器人进行非法操作。在这个项目中,"java 用户注册登录验证码"可能涉及以下几个...

    java用户注册登陆

    9. **验证码与多因素认证**:为了增强安全性,可能还会集成验证码系统,防止机器人自动注册或登录。更高级的安全措施可能会涉及多因素认证,如短信验证码或身份验证器应用。 10. **测试**:确保注册和登录功能正常...

    Javaweb用户登录注册系统

    Javaweb 用户登录注册系统 本系统实现了用户登录注册功能,基于 JavaWeb 技术栈,使用 Html、CSS、JQuery 等技术实现前台页面,使用 Java 语言编写后台逻辑,使用 Tomcat 服务器部署环境,使用 MySQL 数据库存储...

    java聊天注册登陆系统

    Java聊天注册登陆系统是基于Java编程语言开发的一个应用程序,它主要功能是为用户提供注册和登录的服务,以便在聊天环境中进行沟通交流。在这个系统中,用户的信息被安全地存储在一个对象文件中,这体现了Java对数据...

Global site tag (gtag.js) - Google Analytics