Java Web用户信息管理系统的简单设计(增删查改)

用户信息管理系统


技术需求:Servlet +jsp+ mvc +jdbc

软件需求 :Eclipse mysql Tomcat Google

功能需求:完成用户登录  查询所有用户 增加删除用户信息等

数据库设计: 创建用户表 User


首先创建数据库用户表 

创建对应的实体类:User.java

package cn.qlu.domin;

public class User {
    private Integer uid;
    private String uname;
    private String pwd;
    private String sex;
    private Integer age;

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", uname='" + uname + '\'' +
                ", pwd='" + pwd + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
}

 创建UserService接口及实现类

创建UserDao接口及实现类

创建用户登录页面:login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
    <title>用户登录页面</title>
    <style>
        .container{
            width: 300px;
            height: 600px;
        }
    </style>
</head>
<body>
<div class="container" style="...">
    <h3 style="text-align:center">管理员登录</h3>
    <form action="/day13/loginServlet"  method="post">
        <div class="form-group">
            <label for="user">用户名</label>
            <input type="text" name="uname" class="form-control" id="user" placeholder="请输入用户名">
        </div>

        <div class="form-group">
            <label for="password">密码</label>
            <input type="password" name="pwd" class="form-control" id="password" placeholder="请输入密码">
        </div>  
        <hr/>
        <div class="form-group" style="...">
            <input class="btn btn btn-primary" type="submit" value="登录">
        </div>
    </form>
    <div class="alert alert-warning alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert">
            <span ></span>
        </button>
        <strong>${login_msg}</strong>
    </div>
</div>
</body>
</html>

 

编写对应的loginServlet

package cn.qlu.web.servlet;

import cn.qlu.domin.User;
import cn.qlu.service.UserService;
import cn.qlu.service.impl.UserServiceImpl;
import org.apache.commons.beanutils.BeanUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        HttpSession session = request.getSession();
        Map<String,String[]> map = request.getParameterMap();
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //调用Service 查询
        UserService service = new UserServiceImpl();
        User loginUser = service.login(user);
        //判断是否登录成功
        if(loginUser!=null){
            //登录成功
            session.setAttribute("user",loginUser);
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else{
            request.setAttribute("login_msg","用户名或密码错误!");
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

登录失败显示:

登录成功后:

创建list.jsp 即显示列表所有信息

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
    <title>用户信息管理系统</title>
    <style type="text/css">
        td,th{
            text-align: center;
        }
    </style>
    <script>
        function deleteUser(uid) {
            if(confirm("您确定要删除吗")){
                location.href="${pageContext.request.contextPath}/deleteUserServlet?uid="+uid;
            }

        }
        window.onload = function () {
            //给删除选中按钮添加单击事件
            document.getElementById("delSelected").onclick = function () {
                //表单提交
                document.getElementById("form").submit();

            }
        }
    </script>
</head>
<body>
<div class="container">
    <h3 style="..." align="center">用户信息列表</h3>
    <div style="float: left;">
        <form class="form-inline">
            <div class="form-group">
                <label for="exampleInputName2">姓名</label>
                <input type="text" class="form-control" id="exampleInputName2" >
            </div>
            <div class="form-group">
                <label for="exampleInputEmail2">性别</label>
                <input type="email" class="form-control" id="exampleInputEmail2" >
            </div>
            <div class="form-group">
                <label for="exampleInputEmail2">年龄</label>
                <input type="email" class="form-control" id="exampleInputEmail3">
            </div>
            <button type="submit" class="btn btn-default">查询</button>
        </form>
    </div>
    <div style="float: right; margin:5px">
        <a class="btn btn-primary" href="add.jsp">增加联系人</a>
        <a class="btn btn-primary" href="javascript:void(0);" id="delSelected">删除选中</a>
    </div>
    <form id="form" action="/day13/DelSelectedServlet" method="post">
        <table border="1" class="table table-bordered table-hover">
            <tr class="success">
                <th><input type="checkbox"></th>
                <th>编号</th>
                <th>姓名</th>
                <th>密码</th>
                <th>性别</th>
                <th>年龄</th>
                <th>操作</th>
            </tr>
            <c:forEach items="${users}" var="user" varStatus="s">
                <tr>
                    <td><input type="checkbox" name="uid" value="${user.uid}"></td>
                    <td>${s.count}</td>
                    <td>${user.uname}</td>
                    <td>${user.pwd}</td>
                    <td>${user.sex}</td>
                    <td>${user.age}</td>
                    <td>
                        <a class="btn btn-default btn-sm" href="${pageContext.request.contextPath}/findUserServlet?uid=${user.uid}" />修改
                        <a class="btn btn-default btn-sm" href="javascript:deleteUser(${user.uid})" />删除
                    </td>
                </tr>
            </c:forEach>
        </table>
    </form>

    <div>
        <nav aria-label="Page navigation">
            <ul class="pagination">
                <li>
                    <a href="#" aria-label="Previous">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
                <li><a href="#">1</a></li>
                <li><a href="#">2</a></li>
                <li><a href="#">3</a></li>
                <li><a href="#">4</a></li>
                <li><a href="#">5</a></li>
                <li>
                    <a href="#" aria-label="Next">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
                <span style="font-size: 22px;margin-left:20px" >
                    共16条记录,共四页
                </span>
            </ul>
        </nav>
    </div>
</div>
</body>
</html>

查询所有用户: 

增加联系人页面:

 修改联系人页面:

 删除页面:

 

 

项目整体流程如上,因源码比较多展示不太方便,如有需要请留言~

 

 

  • 76
    点赞
  • 350
    收藏
    觉得还不错? 一键收藏
  • 386
    评论
以下是一个简单Java Swing用户管理系统增删查改功能代码示例: ```java import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; public class UserManagementSystem { private JFrame frame; private JTextField nameField; private JTextField emailField; private JTextField ageField; private JTable table; private DefaultTableModel model; private ArrayList<User> userList = new ArrayList<User>(); public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { UserManagementSystem window = new UserManagementSystem(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public UserManagementSystem() { initialize(); } private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 450, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); frame.getContentPane().add(panel); panel.setLayout(null); JLabel nameLabel = new JLabel("Name:"); nameLabel.setBounds(10, 10, 80, 25); panel.add(nameLabel); nameField = new JTextField(); nameField.setBounds(100, 10, 160, 25); panel.add(nameField); nameField.setColumns(10); JLabel emailLabel = new JLabel("Email:"); emailLabel.setBounds(10, 40, 80, 25); panel.add(emailLabel); emailField = new JTextField(); emailField.setBounds(100, 40, 160, 25); panel.add(emailField); emailField.setColumns(10); JLabel ageLabel = new JLabel("Age:"); ageLabel.setBounds(10, 70, 80, 25); panel.add(ageLabel); ageField = new JTextField(); ageField.setBounds(100, 70, 160, 25); panel.add(ageField); ageField.setColumns(10); JButton addButton = new JButton("Add"); addButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { addUser(); } }); addButton.setBounds(10, 100, 80, 25); panel.add(addButton); JButton updateButton = new JButton("Update"); updateButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { updateSelectedUser(); } }); updateButton.setBounds(100, 100, 80, 25); panel.add(updateButton); JButton deleteButton = new JButton("Delete"); deleteButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { deleteSelectedUser(); } }); deleteButton.setBounds(190, 100, 80, 25); panel.add(deleteButton); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 135, 414, 116); panel.add(scrollPane); table = new JTable(); model = new DefaultTableModel(new Object[]{"Name", "Email", "Age"}, 0); table.setModel(model); scrollPane.setViewportView(table); } private void addUser() { String name = nameField.getText(); String email = emailField.getText(); int age = Integer.parseInt(ageField.getText()); User user = new User(name, email, age); userList.add(user); model.addRow(new Object[]{name, email, age}); nameField.setText(""); emailField.setText(""); ageField.setText(""); } private void updateSelectedUser() { int selectedRowIndex = table.getSelectedRow(); if (selectedRowIndex >= 0) { String name = nameField.getText(); String email = emailField.getText(); int age = Integer.parseInt(ageField.getText()); User user = userList.get(selectedRowIndex); user.setName(name); user.setEmail(email); user.setAge(age); model.setValueAt(name, selectedRowIndex, 0); model.setValueAt(email, selectedRowIndex, 1); model.setValueAt(age, selectedRowIndex, 2); nameField.setText(""); emailField.setText(""); ageField.setText(""); } else { JOptionPane.showMessageDialog(null, "Please select a user to update."); } } private void deleteSelectedUser() { int selectedRowIndex = table.getSelectedRow(); if (selectedRowIndex >= 0) { userList.remove(selectedRowIndex); model.removeRow(selectedRowIndex); nameField.setText(""); emailField.setText(""); ageField.setText(""); } else { JOptionPane.showMessageDialog(null, "Please select a user to delete."); } } private class User { private String name; private String email; private int age; public User(String name, String email, int age) { this.name = name; this.email = email; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } } ``` 这个示例演示了如何使用Java Swing创建一个简单的用户管理系统,包括添加、更新、删除和查看用户。用户数据存储在一个包含用户对象的ArrayList中,每个用户对象包含名称、电子邮件和年龄属性。用户界面包括文本框、按钮和表格,表格用于显示当前用户列表。当用户添加、更新或删除时,表格数据模型会相应地进行更改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值