Java JSP 实现会员管理系统:分页、新增、删除、修改和搜索
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 技术实现一个会员管理系统,涵盖分页显示会员信息、新增会员、删除会员、修改会员信息和搜索会员等功能。你可以参考本文提供的代码示例,并根据你的具体需求进行调整和完善,以实现你想要的功能。
原文地址: https://www.cveoy.top/t/topic/pONL 著作权归作者所有。请勿转载和采集!