Java JSP 实现会员管理系统:分页、新增、删除、修改和搜索

本文将详细介绍如何使用 Java JSP 技术实现一个会员管理系统,涵盖分页显示会员信息、新增会员、删除会员、修改会员信息和搜索会员等功能。

1. 会员等级

会员一共分为三个等级,等级对应关系如下:

  • vip1 - '银卡vip'
  • vip2 - '金卡vip'
  • vip3 - '尊享vip'

2. 功能实现

2.1 分页显示所有会员信息,每页显示 10 条会员记录

使用 JSP 页面 members.jsp 来展示所有会员信息,并实现分页功能,每页显示 10 条会员记录。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>会员列表</title>
</head>
<body>
    <h1>会员列表</h1>
    <%-- 分页显示会员信息 --%>
    <table>
        <tr>
            <th>会员ID</th>
            <th>会员姓名</th>
            <th>会员等级</th>
            <th>会员手机号</th>
            <th>操作</th>
        </tr>
        <%-- 在这里使用Java代码从数据库获取会员信息并进行分页处理 --%>
        <%-- 假设会员信息存储在一个List<Member>对象中 --%>
        <%-- currentPage是当前页码,pageSize是每页显示的记录数 --%>
        <%-- 遍历会员列表进行显示 --%>
        <% for (Member member : memberList) { %>
            <tr>
                <td><%= member.getId() %></td>
                <td><%= member.getName() %></td>
                <td><%= member.getLevel() %></td>
                <td><%= member.getPhone() %></td>
                <td>
                    <a href='editMember.jsp?id=<%= member.getId() %>'>修改</a>
                    <a href='deleteMember.jsp?id=<%= member.getId() %>'>删除</a>
                </td>
            </tr>
        <% } %>
    </table>
    
    <%-- 分页导航 --%>
    <%-- totalPages是总页数 --%>
    <%-- currentPage是当前页码 --%>
    <%-- 在这里根据总页数和当前页码生成分页导航链接 --%>
    <% if (currentPage > 1) { %>
        <a href='members.jsp?page=<%= currentPage-1 %>'>上一页</a>
    <% } %>
    
    <% for (int i = 1; i <= totalPages; i++) { %>
        <%-- 根据当前页码设置当前页的样式 --%>
        <% if (i == currentPage) { %>
            <strong><%= i %></strong>
        <% } else { %>
            <a href='members.jsp?page=<%= i %>'><%= i %></a>
        <% } %>
    <% } %>
    
    <% if (currentPage < totalPages) { %>
        <a href='members.jsp?page=<%= currentPage+1 %>'>下一页</a>
    <% } %>
    
    <%-- 点击新增按钮跳转到新增会员页面 --%>
    <a href='addMember.jsp'>新增会员</a>
    
    <%-- 输入手机号搜索会员 --%>
    <form action='searchMember.jsp' method='get'>
        <input type='text' name='phone' placeholder='请输入手机号'>
        <input type='submit' value='搜索'>
    </form>
</body>
</html>

2.2 点击新增按钮,跳转到新增会员页面

使用 JSP 页面 addMember.jsp 来展示新增会员的表单。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>新增会员</title>
</head>
<body>
    <h1>新增会员</h1>
    <%-- 在这里显示新增会员的表单 --%>
    <form action='saveMember.jsp' method='post'>
        <label>姓名:</label>
        <input type='text' name='name'><br>
        <label>手机号:</label>
        <input type='text' name='phone'><br>
        <label>等级:</label>
        <select name='level'>
            <option value='vip1'>'银卡vip'</option>
            <option value='vip2'>'金卡vip'</option>
            <option value='vip3'>'尊享vip'</option>
        </select><br>
        <input type='submit' value='保存'>
    </form>
    
    <%-- 返回会员列表页面 --%>
    <a href='members.jsp'>返回</a>
</body>
</html>

2.3 点击删除,删除一条会员记录,重新跳转到显示所有会员的页面

使用 JSP 页面 deleteMember.jsp 来执行删除操作,并重定向到 members.jsp 页面。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>删除会员</title>
</head>
<body>
    <h1>删除会员</h1>
    <%-- 在这里执行删除会员的操作 --%>
    <%-- 根据会员ID从数据库删除会员信息 --%>
    
    <%-- 删除完成后重新跳转到会员列表页面 --%>
    <script>
        window.location.href = 'members.jsp';
    </script>
</body>
</html>

2.4 点击修改,跳转到会员修改页面

使用 JSP 页面 editMember.jsp 来展示修改会员的表单。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>修改会员</title>
</head>
<body>
    <h1>修改会员</h1>
    <%-- 在这里根据会员ID从数据库获取会员信息 --%>
    <%-- 假设要修改的会员信息存储在一个Member对象中 --%>
    <%-- 根据会员的等级设置下拉框选项的选中状态 --%>
    <form action='updateMember.jsp' method='post'>
        <input type='hidden' name='id' value='<%= member.getId() %>'>
        <label>姓名:</label>
        <input type='text' name='name' value='<%= member.getName() %>'><br>
        <label>手机号:</label>
        <input type='text' name='phone' value='<%= member.getPhone() %>'><br>
        <label>等级:</label>
        <select name='level'>
            <option value='vip1' <% if (member.getLevel().equals('vip1')) { %>selected<% } %>>'银卡vip'</option>
            <option value='vip2' <% if (member.getLevel().equals('vip2')) { %>selected<% } %>>'金卡vip'</option>
            <option value='vip3' <% if (member.getLevel().equals('vip3')) { %>selected<% } %>>'尊享vip'</option>
        </select><br>
        <input type='submit' value='保存'>
    </form>
    
    <%-- 返回会员列表页面 --%>
    <a href='members.jsp'>返回</a>
</body>
</html>

2.5 输入会员手机号,可以搜索某个会员

使用 JSP 页面 searchMember.jsp 来执行搜索操作,并展示搜索结果。

<%@ page language='java' contentType='text/html; charset=UTF-8'
    pageEncoding='UTF-8'%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>搜索会员</title>
</head>
<body>
    <h1>搜索会员</h1>
    <%-- 在这里根据手机号从数据库查询会员信息 --%>
    <%-- 假设查询结果存储在一个List<Member>对象中 --%>
    <%-- 遍历查询结果进行显示 --%>
    <table>
        <tr>
            <th>会员ID</th>
            <th>会员姓名</th>
            <th>会员等级</th>
            <th>会员手机号</th>
            <th>操作</th>
        </tr>
        <%-- 在这里使用Java代码从数据库获取会员信息并进行分页处理 --%>
        <%-- 假设会员信息存储在一个List<Member>对象中 --%>
        <%-- currentPage是当前页码,pageSize是每页显示的记录数 --%>
        <%-- 遍历会员列表进行显示 --%>
        <% for (Member member : memberList) { %>
            <tr>
                <td><%= member.getId() %></td>
                <td><%= member.getName() %></td>
                <td><%= member.getLevel() %></td>
                <td><%= member.getPhone() %></td>
                <td>
                    <a href='editMember.jsp?id=<%= member.getId() %>'>修改</a>
                    <a href='deleteMember.jsp?id=<%= member.getId() %>'>删除</a>
                </td>
            </tr>
        <% } %>
    </table>
    
    <%-- 返回会员列表页面 --%>
    <a href='members.jsp'>返回</a>
</body>
</html>

2.6 点击上一页 下一页实现分页功能 点击跳转,查询指定页的数据内容

members.jsp 页面中,使用 JSP 代码实现分页功能,并根据点击的页码查询指定页的数据。

3. 数据操作

为了实现上述功能,你需要使用 Java 代码来连接数据库,进行数据的增删改查操作。以下是一些示例:

  • 获取所有会员信息:使用 PreparedStatement 对象执行 SQL 查询语句,将查询结果封装成 List<Member> 对象。
  • 新增会员:使用 PreparedStatement 对象执行 SQL 插入语句,将新增的会员信息插入数据库。
  • 删除会员:使用 PreparedStatement 对象执行 SQL 删除语句,根据会员 ID 删除数据库中的会员信息。
  • 修改会员信息:使用 PreparedStatement 对象执行 SQL 更新语句,根据会员 ID 更新数据库中的会员信息。
  • 搜索会员:使用 PreparedStatement 对象执行 SQL 查询语句,根据会员手机号查询数据库中的会员信息。

4. 代码示例

以下代码示例展示了如何使用 Java 和 JSP 来实现会员管理系统:

// Member 类
public class Member {
    private int id;
    private String name;
    private String level;
    private String phone;
    
    // 构造函数、getter 和 setter 方法
}

// 数据库连接类
public class DBUtil {
    private static Connection conn = null;
    private static PreparedStatement stmt = null;
    private static ResultSet rs = null;
    
    // 连接数据库
    public static Connection getConnection() {
        // TODO: 连接数据库
        return conn;
    }
    
    // 关闭数据库连接
    public static void closeConnection() {
        // TODO: 关闭数据库连接
    }
}

// 会员管理类
public class MemberManager {
    // 获取所有会员信息
    public List<Member> getAllMembers(int currentPage, int pageSize) {
        // TODO: 从数据库获取会员信息
        return memberList;
    }
    
    // 新增会员
    public void addMember(Member member) {
        // TODO: 将会员信息保存到数据库
    }
    
    // 删除会员
    public void deleteMember(int id) {
        // TODO: 根据会员ID删除会员信息
    }
    
    // 修改会员信息
    public void updateMember(Member member) {
        // TODO: 根据会员ID更新会员信息
    }
    
    // 搜索会员
    public List<Member> searchMember(String phone) {
        // TODO: 根据手机号搜索会员信息
        return memberList;
    }
}

// members.jsp
<%@ page import='java.util.List' %>
<%@ page import='com.example.member.Member' %>
<%@ page import='com.example.member.MemberManager' %>
<%!
    // 每页显示的记录数
    private static final int PAGE_SIZE = 10;
%>
<%!
    // 获取所有会员信息
    private List<Member> getMembers(int currentPage) {
        MemberManager memberManager = new MemberManager();
        return memberManager.getAllMembers(currentPage, PAGE_SIZE);
    }
%>
<%!
    // 获取总页数
    private int getTotalPages() {
        MemberManager memberManager = new MemberManager();
        int totalMembers = memberManager.getAllMembers(1, Integer.MAX_VALUE).size();
        return (totalMembers + PAGE_SIZE - 1) / PAGE_SIZE;
    }
%>
<%!
    // 获取当前页码
    private int getCurrentPage() {
        int currentPage = 1;
        String pageStr = request.getParameter('page');
        if (pageStr != null && !pageStr.isEmpty()) {
            try {
                currentPage = Integer.parseInt(pageStr);
            } catch (NumberFormatException e) {
                // 处理异常
            }
        }
        return currentPage;
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>会员列表</title>
</head>
<body>
    <h1>会员列表</h1>
    <table>
        <tr>
            <th>会员ID</th>
            <th>会员姓名</th>
            <th>会员等级</th>
            <th>会员手机号</th>
            <th>操作</th>
        </tr>
        <% List<Member> memberList = getMembers(getCurrentPage()); %>
        <% for (Member member : memberList) { %>
            <tr>
                <td><%= member.getId() %></td>
                <td><%= member.getName() %></td>
                <td><%= member.getLevel() %></td>
                <td><%= member.getPhone() %></td>
                <td>
                    <a href='editMember.jsp?id=<%= member.getId() %>'>修改</a>
                    <a href='deleteMember.jsp?id=<%= member.getId() %>'>删除</a>
                </td>
            </tr>
        <% } %>
    </table>
    
    <%-- 分页导航 --%>
    <% int totalPages = getTotalPages(); %>
    <% int currentPage = getCurrentPage(); %>
    <% if (currentPage > 1) { %>
        <a href='members.jsp?page=<%= currentPage - 1 %>'>上一页</a>
    <% } %>
    
    <% for (int i = 1; i <= totalPages; i++) { %>
        <% if (i == currentPage) { %>
            <strong><%= i %></strong>
        <% } else { %>
            <a href='members.jsp?page=<%= i %>'><%= i %></a>
        <% } %>
    <% } %>
    
    <% if (currentPage < totalPages) { %>
        <a href='members.jsp?page=<%= currentPage + 1 %>'>下一页</a>
    <% } %>
    
    <a href='addMember.jsp'>新增会员</a>
    
    <form action='searchMember.jsp' method='get'>
        <input type='text' name='phone' placeholder='请输入手机号'>
        <input type='submit' value='搜索'>
    </form>
</body>
</html>

// addMember.jsp
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>新增会员</title>
</head>
<body>
    <h1>新增会员</h1>
    <form action='saveMember.jsp' method='post'>
        <label>姓名:</label>
        <input type='text' name='name'><br>
        <label>手机号:</label>
        <input type='text' name='phone'><br>
        <label>等级:</label>
        <select name='level'>
            <option value='vip1'>'银卡vip'</option>
            <option value='vip2'>'金卡vip'</option>
            <option value='vip3'>'尊享vip'</option>
        </select><br>
        <input type='submit' value='保存'>
    </form>
    
    <a href='members.jsp'>返回</a>
</body>
</html>

// saveMember.jsp
<%!
    // 保存会员信息
    private void saveMember(String name, String phone, String level) {
        Member member = new Member();
        member.setName(name);
        member.setPhone(phone);
        member.setLevel(level);
        MemberManager memberManager = new MemberManager();
        memberManager.addMember(member);
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>保存会员</title>
</head>
<body>
    <h1>保存会员</h1>
    <% String name = request.getParameter('name'); %>
    <% String phone = request.getParameter('phone'); %>
    <% String level = request.getParameter('level'); %>
    <% saveMember(name, phone, level); %>
    <script>
        window.location.href = 'members.jsp';
    </script>
</body>
</html>

// editMember.jsp
<%!
    // 根据会员ID获取会员信息
    private Member getMemberById(int id) {
        MemberManager memberManager = new MemberManager();
        return memberManager.getMemberById(id);
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>修改会员</title>
</head>
<body>
    <h1>修改会员</h1>
    <% int id = Integer.parseInt(request.getParameter('id')); %>
    <% Member member = getMemberById(id); %>
    <form action='updateMember.jsp' method='post'>
        <input type='hidden' name='id' value='<%= member.getId() %>'>
        <label>姓名:</label>
        <input type='text' name='name' value='<%= member.getName() %>'><br>
        <label>手机号:</label>
        <input type='text' name='phone' value='<%= member.getPhone() %>'><br>
        <label>等级:</label>
        <select name='level'>
            <option value='vip1' <% if (member.getLevel().equals('vip1')) { %>selected<% } %>>'银卡vip'</option>
            <option value='vip2' <% if (member.getLevel().equals('vip2')) { %>selected<% } %>>'金卡vip'</option>
            <option value='vip3' <% if (member.getLevel().equals('vip3')) { %>selected<% } %>>'尊享vip'</option>
        </select><br>
        <input type='submit' value='保存'>
    </form>
    
    <a href='members.jsp'>返回</a>
</body>
</html>

// updateMember.jsp
<%!
    // 更新会员信息
    private void updateMember(int id, String name, String phone, String level) {
        Member member = new Member();
        member.setId(id);
        member.setName(name);
        member.setPhone(phone);
        member.setLevel(level);
        MemberManager memberManager = new MemberManager();
        memberManager.updateMember(member);
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>更新会员</title>
</head>
<body>
    <h1>更新会员</h1>
    <% int id = Integer.parseInt(request.getParameter('id')); %>
    <% String name = request.getParameter('name'); %>
    <% String phone = request.getParameter('phone'); %>
    <% String level = request.getParameter('level'); %>
    <% updateMember(id, name, phone, level); %>
    <script>
        window.location.href = 'members.jsp';
    </script>
</body>
</html>

// deleteMember.jsp
<%!
    // 删除会员信息
    private void deleteMember(int id) {
        MemberManager memberManager = new MemberManager();
        memberManager.deleteMember(id);
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>删除会员</title>
</head>
<body>
    <h1>删除会员</h1>
    <% int id = Integer.parseInt(request.getParameter('id')); %>
    <% deleteMember(id); %>
    <script>
        window.location.href = 'members.jsp';
    </script>
</body>
</html>

// searchMember.jsp
<%!
    // 搜索会员信息
    private List<Member> searchMember(String phone) {
        MemberManager memberManager = new MemberManager();
        return memberManager.searchMember(phone);
    }
%>
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>搜索会员</title>
</head>
<body>
    <h1>搜索会员</h1>
    <% String phone = request.getParameter('phone'); %>
    <% List<Member> memberList = searchMember(phone); %>
    <table>
        <tr>
            <th>会员ID</th>
            <th>会员姓名</th>
            <th>会员等级</th>
            <th>会员手机号</th>
            <th>操作</th>
        </tr>
        <% for (Member member : memberList) { %>
            <tr>
                <td><%= member.getId() %></td>
                <td><%= member.getName() %></td>
                <td><%= member.getLevel() %></td>
                <td><%= member.getPhone() %></td>
                <td>
                    <a href='editMember.jsp?id=<%= member.getId() %>'>修改</a>
                    <a href='deleteMember.jsp?id=<%= member.getId() %>'>删除</a>
                </td>
            </tr>
        <% } %>
    </table>
    <a href='members.jsp'>返回</a>
</body>
</html>

注意: 以上代码示例仅供参考,实际代码需要根据你的具体需求进行调整和完善。

5. 总结

本文详细介绍了如何使用 Java JSP 技术实现一个会员管理系统,涵盖分页显示会员信息、新增会员、删除会员、修改会员信息和搜索会员等功能。你可以参考本文提供的代码示例,并根据你的具体需求进行调整和完善,以实现你想要的功能。

Java JSP 实现会员管理系统:分页、新增、删除、修改和搜索

原文地址: https://www.cveoy.top/t/topic/pONL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录