且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-06-10 03:03:01

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>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

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>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

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


当点击保存时,用户输入的信息会提交给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);

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

5. 测试

登录后点击左侧人员管理:

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

点击新增按钮,输入新增用户的信息后点击保存。

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

点击保存后会跳转人员管理页面,发现新增用户的信息已经可以显示了。

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