JSP+Servlet培训班作业管理系统[12]–人员新增功能的实现

1. 本章任务

上一章在人员管理页面,已经实现了人员浏览功能,本章继续在人员管理页面,实现新增人员的功能。

2. 增加新增按钮

在表格的下方添加一个新增按钮,点击后通过RouteServlet跳转用户新增页面。

修改userManage.jsp页面如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>userManage.jsp</title>
</head>
<body>
	<table>
		<thead>
			<tr>
				<th>编号</th>
				<th>姓名</th>
				<th>角色</th>
			</tr>
		</thead>
		<c:forEach items="${users}" var="item">
			<tr>
				<td>${item.userId}</td>
				<td>${item.userName}</td>
				<td>${item.userRole}</td>
			</tr>
		</c:forEach>
	</table>
	<a href="/HomeworkSystem/RouteServlet?childPage=userAdd.jsp">新增</a>
</body>
</html>

3. 添加新增页面

点击新增超链接后,会经过RouteServlet跳转userAdd.jsp页面,所以添加一个userAdd.jsp页面如下。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><!-- 使用c:标签需要添加本行代码 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>userAdd.jsp</title>
</head>
<body>
	<form action="/HomeworkSystem/UserServlet?method=userAdd" method="post">
		<table>
			<tr>
				<td>姓名:</td>
				<td><input type="text" name="userName" /></td>
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="text" name="userPassword" /></td>
			</tr>
			<tr>
				<td>角色:</td>
				<td><select name="userRole">
						<option value="master">校长</option>
						<option value="teacher">老师</option>
						<option value="student">学生</option>
				</select></td>
			</tr>
		</table>
		<input type="submit" value="保存"></input>
	</form>
</body>
</html>

根据上面的代码可知,用户新增页面打开后,可以输入姓名、密码,并选择该用户所属的角色。

当点击保存时,用户输入的信息会提交给UserServlet,并且传递method参数为userAdd。

4. 通过UserServlet保存新增用户

新建UserServlet,接受jsp页面提交的用户信息,保存到数据库中,然后返回用户列表页面。

注意此时要重新加载用户列表数据,以便展示最新的所有用户信息。


@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 处理post请求
		// 设置输入输出格式、编码
		response.setContentType("text/html");
		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		// 获取method参数
		String method = request.getParameter("method");
		// 用户操作数据库
		UserDao userDao = new UserDao();
		if (method.equals("userAdd")) {// 新增用户
			// 获取用户在网页输入的用户名和密码
			User user = new User();
			user.setUserName(request.getParameter("userName"));
			user.setUserPassword(request.getParameter("userPassword"));
			user.setUserRole(request.getParameter("userRole"));
			// 保存到数据库
			userDao.add(user);
		}
		// 携带最新用户数据到人员管理页面
		request.setAttribute("users", userDao.getUsers());
		// 跳转到管理后台页面,且子页面是用户管理
		request.setAttribute("childPage", "userManage.jsp");
		request.getRequestDispatcher("/index.jsp").forward(request, response);
	}
}

5. 测试

登录后点击左侧人员管理:
在这里插入图片描述
点击新增按钮,输入新增用户的信息后点击保存。
在这里插入图片描述
点击保存后会跳转人员管理页面,发现新增用户的信息已经可以显示了。
在这里插入图片描述

大功告成!


如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页