文章目录
目录截屏
在这里插入图片描述
UserDao
package dao;
import java.io.*;
import java.util.Properties;
public class UserDao {
// 用户注册:
public void userRegister(String username, String password){
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("src/user.properties"); // 创建一个FileWriter类的对象作为节点流
bw = new BufferedWriter(fw); // 创建一个BufferedWriter类的对象作为包装流,包装节点流fw
bw.write("username=" + username); // 通过调用BufferedWriter类中的write()方法,写入一个字符串
bw.newLine(); // 换行
bw.write("password=" + password);
bw.flush(); // 记得刷新流!!!!!!!!
System.out.println("注册成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw == null) {
try {
bw.close(); // 关闭流时只需要关闭外层的包装流即可
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 用户登录:
public void userLogin(String username, String password){
FileReader fr = null;
Properties pr = null;
try {
fr = new FileReader("src/user.properties");
pr = new Properties(); // 创建一个Properties集合
pr.load(fr); // load方法接收一个Reader类型的参数,将文件中的数据加载到集合中
String un = pr.getProperty("username"); // 通过调用Properties集合中的getProperty()方法,通过传一个key获取其value,获取用户名
String pw = pr.getProperty("password"); // 通过调用Properties集合中的getProperty()方法,通过传一个key获取其value,获取密码
if (username.equals(un) && password.equals(pw)){
System.out.println("登录成功,欢迎" + un);
}
else {
System.out.println("账号或密码错误,登陆失败!!!");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr == null) { // 判断FileReader对象不为空则关闭流
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 修改密码:
public void changePassword(String password){ // 和用户注册的代码相似
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("src/user.properties", true); // 传一个true,表示添加数据的方式是追加
bw = new BufferedWriter(fw);
bw.newLine();
bw.write("password=" + password);
bw.flush();
System.out.println("修改成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw == null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// 注销:
public void withdraw(){
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("src/user.properties");
bw = new BufferedWriter(fw);
bw.write("");
bw.flush();
System.out.println("注销成功");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bw == null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
UserSerclet
package servlet;
import dao.UserDao;
import java.util.ArrayList;
import java.util.Scanner;
public class UserServlet {
public static void main(String[] args) {
UserDao ud = new UserDao();
Scanner scanner = new Scanner(System.in);
System.out.print("请选择操作:输入1,登录用户;输入2,创建用户;输入3,修改密码;输入4,注销账号:");
int i = 0;
A: do {
i = scanner.nextInt();
switch (i){
case 1:
System.out.print("请输入用户名:");
String Username = scanner.next();
System.out.print("请输入密码:");
String Password = scanner.next();
ud.userLogin(Username, Password);
break A;
case 2:
System.out.print("请输入注册的用户名:");
String NewUsername = scanner.next();
System.out.print("请输入设置的密码:");
String NewPassword = scanner.next();
ud.userRegister(NewUsername, NewPassword);
break A;
case 3:
System.out.print("请输入修改的密码:");
String ChangePassword = scanner.next();
ud.changePassword(ChangePassword);
break A;
case 4:
ud.withdraw();
break A;
default:
System.out.print("错误指令,请重新输入:");
}
} while (true);
}
}
视频演示
登录基础功能
版权声明:本文为m0_63930574原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。