JavaWeb经典案例--用户信息管理(利用Map集合对象)

目录

1. 需求分析

2. 概要设计

2.1 技术选型

2.2 项目结构设计(为下文的模块结构)

2.3 User类(JavaBean)设计

2.4 UserDao(单例模式)设计

2.5 用户信息列表设计

2.6 添加用户设计

2.7 修改用户设计

2.8 删除用户设计

3. 开发阶段

3.1 环境搭建

3.1.1创建项目

3.1.2 配置tomcat服务器

3.1.3 导入需要的包

3.2 前端代码

3.2.1将 Bootstrap 相关的 css,js 两个文件夹复制到 web 目录下

3.2.2首页 index.jsp

3.2.3添加 addUser.jsp

3.2.4修改 updateUser.jsp

3.3 后端代码

3.3.1在 src 中创建 com.work.user 包,在其中创建以下类

3.3.2 User.java(上文)

3.3.3 UserDao.java(上文)

3.2.4 addServlet.java

3.2.5 updateServlet.java

3.2.6 removeSrevlet.java

3.3配置servlet


1. 需求分析

  1. 完成一个用户信息管理系统(基于 BS 架构),功能如下:

    • 展示用户信息
    • 添加用户信息
    • 删除用户信息(可以删除选中用户)
    • 修改用户信息(包括用户数据的回显)
  2. 效果图如下:

用户信息列表:

添加用户信息:

删除用户信息:

修改用户信息:

2. 概要设计

2.1 技术选型

  • Tomcat 服务器
  • Servlet
  • JSP
  • Bootstrap
  • Map集合对象

2.2 项目结构设计(为下文的模块结构)

2.3 User类(JavaBean)设计

package com.work.user;

public class User {
    private int id;
    private String grade;
    private String xh;
    private String name;
    private String department;

    public User(){

    }
    public User(int id, String grade, String xh, String name, String department) {
        this.id = id;
        this.grade = grade;
        this.xh = xh;
        this.name = name;
        this.department = department;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getXh() {
        return xh;
    }

    public void setXh(String xh) {
        this.xh = xh;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", grade='" + grade + '\'' +
                ", xh='" + xh + '\'' +
                ", name='" + name + '\'' +
                ", department='" + department + '\'' +
                '}';
    }
}

2.4 UserDao(单例模式)设计

package com.work.user;

import java.util.HashMap;
import java.util.Map;

public class UserDao {
    private static UserDao userDao;

    private UserDao(){}

    public static synchronized UserDao getInstance(){
        if(userDao == null){
            userDao = new UserDao();
        }
        return userDao;
    }

    public static Map<Integer, User> map = new HashMap<>();

    static {
        map.put(1, new User(1,"计BG192","6454111113","康玉学","曙光大数据学院"));
        map.put(2, new User(2,"管理BG202","6412129228","韩梅梅","人文艺术学院"));
        map.put(3, new User(3,"自BG192","5111239232","李蕾","电信学院"));
        map.put(4, new User(4,"会计BG182","9411118215","秦毅","人文艺术学院"));
        map.put(5, new User(5,"大数据BG171","6511239232","杨树林","曙光大数据学院"));
        map.put(6, new User(6,"自BG192","6411117356","张三","电信学院"));
    }

    public static Map<Integer, User> getALlUser() {
        return map;
    }
    public static void deleteUser(int id){
                map.remove(id);
    }
    public static void addUser(String grade, String xh, String name, String department){
        int indexMax = map.keySet().stream().max((o1,o2) ->o1-o2).get();
        int i = indexMax+1;
        map.put(i,new User(i, grade, xh, name, department));
    }
    public static void updateUser(User user){
        Integer id = user.getId();
        map.put(id, user);
    }
}

2.5 用户信息列表设计

2.6 添加用户设计

2.7 修改用户设计

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值