使用java实现用户的基础功能

目录截屏

在这里插入图片描述

在这里插入图片描述

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);
    }
}

视频演示

登录基础功能

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java使用数据库实现购物车功能的步骤如下: 1. 创建购物车表:在数据库中创建一个购物车表,用于存储购物车中的商品信息。购物车表可以包含以下字段:购物车项ID、用户ID、商品ID、商品数量等。 2. 添加商品到购物车:当用户点击添加商品到购物车时,将商品信息插入购物车表中。可以使用SQL语句或者ORM框架来实现插入操作。 3. 获取购物车中的购物项:通过查询购物车表,可以获取到购物车中的所有购物项。可以使用SQL语句或者ORM框架来实现查询操作。下面是一个获取购物车中购物项的示例代码: ```java @Override public CartItem getCartItem(Long skuId) { BoundHashOperations<String, Object, Object> cartOps = getCartOps(); String s = (String) cartOps.get(skuId.toString()); CartItem cartItem = JSON.parseObject(s, CartItem.class); return cartItem; } ``` 4. 增加购物车中商品数量:当用户修改购物车中商品数量时,可以通过更新购物车表中对应购物项的数量来实现。下面是一个增加购物车中商品数量的示例代码: ```java @Override public void countItem(Long skuId, Integer num) { BoundHashOperations<String, Object, Object> cartOps = getCartOps(); CartItem cartItem = getCartItem(skuId); cartItem.setCount(cartItem.getCount() + num); cartOps.put(skuId.toString(), JSON.toJSONString(cartItem)); } ``` 以上是使用数据库实现购物车功能的基本步骤和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值