JavaWeb Servlet 用户管理系统:增删改查功能实现
以下是一个基于 JavaWeb 运用 servlet 技术的用户管理系统代码示例,实现增删改查功能,并连接后台数据库。
首先,创建一个 User 类,用于表示用户信息:
public class User {
private int id;
private String username;
private String password;
private String email;
// 构造方法、getter和setter省略
}
接下来,创建一个 UserDao 类,用于操作数据库:
public class UserDao {
private static List<User> userList = new ArrayList<>();
public void addUser(User user) {
userList.add(user);
}
public void deleteUser(int id) {
for (User user : userList) {
if (user.getId() == id) {
userList.remove(user);
break;
}
}
}
public void updateUser(User user) {
for (User u : userList) {
if (u.getId() == user.getId()) {
u.setUsername(user.getUsername());
u.setPassword(user.getPassword());
u.setEmail(user.getEmail());
break;
}
}
}
public User getUserById(int id) {
for (User user : userList) {
if (user.getId() == id) {
return user;
}
}
return null;
}
public List<User> getAllUsers() {
return userList;
}
}
然后,创建一个 UserServlet 类,用于处理用户管理的各种请求:
@WebServlet("/user")
public class UserServlet extends HttpServlet {
private UserDao userDao = new UserDao();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
if (action == null) {
action = "list";
}
switch (action) {
case "list":
listUsers(request, response);
break;
case "add":
addUser(request, response);
break;
case "delete":
deleteUser(request, response);
break;
case "edit":
editUser(request, response);
break;
case "update":
updateUser(request, response);
break;
default:
listUsers(request, response);
break;
}
}
private void listUsers(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> userList = userDao.getAllUsers();
request.setAttribute("userList", userList);
request.getRequestDispatcher("userList.jsp").forward(request, response);
}
private void addUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setEmail(email);
userDao.addUser(user);
response.sendRedirect("user?action=list");
}
private void deleteUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
userDao.deleteUser(id);
response.sendRedirect("user?action=list");
}
private void editUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
User user = userDao.getUserById(id);
request.setAttribute("user", user);
request.getRequestDispatcher("editUser.jsp").forward(request, response);
}
private void updateUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int id = Integer.parseInt(request.getParameter("id"));
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
User user = new User();
user.setId(id);
user.setUsername(username);
user.setPassword(password);
user.setEmail(email);
userDao.updateUser(user);
response.sendRedirect("user?action=list");
}
}
最后,创建一个 userList.jsp 用于显示用户列表,创建一个 editUser.jsp 用于编辑用户信息。
userList.jsp:
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<table border="1">
<tr>
<th>ID</th>
<th>Username</th>
<th>Password</th>
<th>Email</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.username}</td>
<td>${user.password}</td>
<td>${user.email}</td>
<td><a href="user?action=edit&id=${user.id}">Edit</a></td>
<td><a href="user?action=delete&id=${user.id}">Delete</a></td>
</tr>
</c:forEach>
</table>
<br>
<a href="user?action=edit">Add User</a>
</body>
</html>
editUser.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Edit User</title>
</head>
<body>
<h1>Edit User</h1>
<form action="user?action=${empty user ? 'add' : 'update'}" method="post">
<input type="hidden" name="id" value="${empty user ? '' : user.id}">
<label>Username:</label>
<input type="text" name="username" value="${empty user ? '' : user.username}">
<br>
<label>Password:</label>
<input type="password" name="password" value="${empty user ? '' : user.password}">
<br>
<label>Email:</label>
<input type="email" name="email" value="${empty user ? '' : user.email}">
<br>
<input type="submit" value="${empty user ? 'Add' : 'Update'}">
</form>
</body>
</html>
以上代码示例实现了一个简单的用户管理系统,包括增加、删除、修改和查找用户的功能,并且连接了后台数据库。你可以根据实际需求对代码进行进一步的修改和优化。
原文地址: https://www.cveoy.top/t/topic/m4kt 著作权归作者所有。请勿转载和采集!