UserServlet层
package servlet;
import dao.UserDao;
import java.util.*;
//作为方法入口
public class UserServlet {
public static void main(String[] args) {
UserServlet user = new UserServlet();
user.Menu();
}
public void Menu() {
boolean isLogin = false;
Scanner scanner = new Scanner(System.in);
System.out.println("---------------------------------------------");
System.out.println("1-用户注册 2-用户登录 3-修改密码 4-注销 5-退出 ");
System.out.println("---------------------------------------------");
int key = scanner.nextInt();
switch (key) {
case 1:
regiser();
Menu();
break;
case 2:
isLogin = login();
if (isLogin) {
System.out.println("登陆成功!");
Menu();
switch (key) {
case 3:
change();
Menu();
break;
case 4:
withdraw();
Menu();
break;
case 5:
System.exit(0);
}
} else {
System.out.println("登录失败请重新输入!");
System.out.println("请重新输入!");
login();
}
break;
}
if (key == 3 || key == 4 || key == 5) {
System.out.println("请先登录!");
Menu();
} else {
System.out.println("对不起输入错误!");
System.out.println("请重新输入!");
Menu();
}
}
//注册
public static boolean regiser() {
boolean rst = false;
String userName = null;
String password = null;
Scanner scanner = new Scanner(System.in);
System.out.println("请创建用户名:");
userName = scanner.nextLine();
System.out.println("请输入您的密码:");
password = scanner.nextLine();
rst = UserDao.userRegiser(userName, password);
return rst;
}
//登录
public static boolean login() {
boolean rst = false;
String userName = null;
String password = null;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
userName = scanner.nextLine();
System.out.println("请输入密码:");
password = scanner.nextLine();
//进行用户名、密码校验
rst = UserDao.userLogin(userName, password);
return rst;
}
//修改密码
public void change() {
String oldPsw = "";
String newPsw1 = "";
String newPsw2 = "";
Scanner scanner = new Scanner(System.in);
System.out.println("请输入旧密码:");
oldPsw = scanner.nextLine();
System.out.println("请输入的新密码");
newPsw1 = scanner.nextLine();
System.out.println("请再次输入的新密码");
newPsw2 = scanner.nextLine();
if (newPsw1.equals(newPsw2)) {
if (UserDao.changePassword(oldPsw, newPsw2)) {
System.out.println("修改密码成功");
} else {
System.out.println("修改密码失败");
}
} else {
System.out.println("两次新密码不相同!修改密码失败");
}
}
//注销
public void withdraw() {
;
if (UserDao.withdraw()) {
System.out.println("注销成功");
} else {
System.out.println("注销失败");
}
}
}
DAO层
package dao;
import java.io.*;
public class UserDao {
//用户的注册
public static boolean userRegiser(String userName, String password) {
boolean result = false;
String up = null;
boolean uP = false;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请再次输入密码:");
try {
up = String.valueOf(br.readLine());
if (up.equals(password)) {
uP = true;
File file = new File("D:\\Projects\\Java\\UserDemo\\src\\user.txt");
FileOutputStream fop = new FileOutputStream(file);
OutputStreamWriter write = new OutputStreamWriter(fop);
write.append("userName=" + userName + "\n");
write.append("password=" + password + "\n");
write.close();
fop.close();
if (userName != null && password != null) {
result = true;
}
System.out.println("注册成功!");
} else {
System.out.println("密码输入不相同!");
System.out.println("注册失败!");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
//用户登录
public static boolean userLogin(String userName, String password) {
boolean rst = false;
String line = null;
boolean Ub = false;
boolean Up = false;
try {
FileReader fr = new FileReader("D:\\Projects\\Java\\UserDemo\\src\\user.txt");
BufferedReader reader = new BufferedReader(fr);
while ((line = reader.readLine()) != null) {
if (line.equals("userName=" + userName)) {
Ub = true;
}
if (line.equals("password=" + password)) {
Up = true;
}
}
if (Ub && Up) {
rst = true;
}
reader.close();
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
return rst;
}
//修改密码
public static boolean changePassword(String oldPassword, String newPassword) {
RandomAccessFile raf = null;
//创建一个字符输出流
FileWriter fw = null;
//判断传入的原密码和文档的原密码是否一致
boolean isOldPswTrue = false;
//判断密码是否修改成功
Boolean rst = false;
try {
String path = "D:\\Projects\\Java\\UserDemo\\src\\user.txt";
raf = new RandomAccessFile(path, "r");
//获取文档中的第一行内容
String firstRow = raf.readLine();
String temp = "";
while ((temp = raf.readLine()) != null) {
if (temp.equals("password=" + oldPassword)) {
isOldPswTrue = true;
}
}
//如果传入的原密码和文档的原密码一致,则修改新密码
if (isOldPswTrue) {
fw = new FileWriter(path);
fw.write(firstRow);
fw.write("\r\n");
fw.write("password=" + newPassword);
fw.flush();
rst = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (raf != null) {
raf.close();
}
if (fw != null) {
fw.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return rst;
}
//注销
public static boolean withdraw() {
FileReader fr = null;
FileWriter fw = null;
boolean rst = false;
try {
String path = "D:\\Projects\\Java\\UserDemo\\src\\user.txt";
fr = new FileReader(path);
int temp = 0;
if ((temp = fr.read()) != -1) {
//清空文件内容,因为FileWrite默认是覆盖内容的
fw = new FileWriter(path);
rst = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
if (fw != null) {
fw.close();
}
} catch (Exception e) {
}
}
return rst;
}
}
运行视频
Java实现简单注册
版权声明:本文为qq_53737050原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。