开发者社区> 程序员大阳> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JSP+Servlet培训班作业管理系统[13]–人员修改功能的实现

简介: 本文目录 1. 本章任务 2. 添加修改按钮 3. 在RouteServlet中添加用户编辑页面跳转 4. 新增用户编辑页面 5. 处理编辑提交请求 6. 测试验证
+关注继续查看

1. 本章任务

前面章节中已经实现了人员信息的浏览和新增,本章继续实现人员信息修改的功能。


2. 添加修改按钮

在表格的每一行添加修改的超级链接,点击后跳转RouteServlet,同时还需要传递操作类型method=editUser,最后还需要传递被编辑的用户的id。


注意传递操作类型是为了让RouteServlet知道跳转到用户编辑页面,传递用户id是为了后台查询出用户信息后传给用户编辑页面,因为用户编辑页面默认要加载用户当前信息。


 <table>

 <thead>

  <tr>

   <th>编号</th>

   <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>

   <td><a

    href="/HomeworkSystem/RouteServlet?childPage=userEdit.jsp&userId=${item.userId}">编辑</a></td>

  </tr>

 </c:forEach>

</table>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

3. 在RouteServlet中添加用户编辑页面跳转

如果是用户编辑的请求,需要根据用户id加载用户信息


public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 // 设置输入输出格式、编码

 response.setContentType("text/html");

 request.setCharacterEncoding("utf-8");

 response.setCharacterEncoding("utf-8");

 // 获取用户在网页输入的用户名和密码

 String childPage = request.getParameter("childPage");

 request.setAttribute("childPage", childPage);

 if (childPage.equals("userManage.jsp")) { // 进入人员管理页面需要携带人员列表信息

  UserDao userDao = new UserDao();

  List<User> users = userDao.getUsers();

  request.setAttribute("users", users);

 } else if (childPage.equals("userEdit.jsp")) {

  UserDao userDao = new UserDao();

  String userId = request.getParameter("userId");

  User user = userDao.getById(userId);

  request.setAttribute("user", user);

 }

 request.getRequestDispatcher("/index.jsp").forward(request, response);// 跳转到index.jsp

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

此处需要在UserDao中编写一个通过id获取用户的方法,如下:


/**

 * 通过id获取用户

 */

public User getById(String userId) {

 Connection conn = null;

 PreparedStatement ps = null;

 ResultSet rs = null;

 try {

  conn = DbUtils.getConnection();

  String sql = "select * from user where user_id=? ";

  ps = conn.prepareStatement(sql);

  ps.setString(1, userId);

  rs = ps.executeQuery();

  if (rs.next()) {

   return makeOneUser(rs);

  } else {

   return null;

  }

 } catch (SQLException e) {

  System.out.println(e.toString());

  return null;

 } finally {

  DbUtils.releaseConnection(rs, ps, conn);

 }

}

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

4. 新增用户编辑页面

新增用户编辑页面userEdit.jsp。


注意该页面进来的时候,需要显示当前编辑用户的信息,注意表单中还需要保存下userId信息,便于提交表单后确定当前修改的用户。


<%@ 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>userEdit.jsp</title>

</head>

<body>

<form action="/HomeworkSystem/UserServlet?method=userEdit"

 method="post">

 <table>

  <tr>

   <td>编号:</td>

   <td><input type="text" name="userId" value="${user.userId}"

    readonly /></td>

  </tr>

  <tr>

   <td>姓名:</td>

   <td><input type="text" name="userName" value="${user.userName}" />

   </td>

  </tr>

  <tr>

   <td>密码:</td>

   <td><input type="text" name="userPassword"

    value="${user.userPassword}" /></td>

  </tr>

  <tr>

   <td>角色:</td>

   <td><select name="userRole" value="${user.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

32

33

34

35

36

37

38

39

5. 处理编辑提交请求

在UserServlet中处理编辑提交请求,注意处理完毕也是返回用户列表页面。


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);

 } else if (method.equals("userEdit")) {// 编辑用户

  // 获取用户在网页输入的用户名和密码

  User user = new User();

  user.setUserId(Integer.parseInt(request.getParameter("userId")));

  user.setUserName(request.getParameter("userName"));

  user.setUserPassword(request.getParameter("userPassword"));

  user.setUserRole(request.getParameter("userRole"));

  // 保存到数据库

  userDao.update(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

33

6. 测试验证

重启tomcat,验证之,大功告成!

image.png

image.png

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JSP+Servlet培训班作业管理系统[20]–学生选课与提交作业功能实现
本文目录 1. 本章任务 2. 学生选课重点 3. 学生提交作业重点 4. 总结
53 0
JSP+Servlet培训班作业管理系统[18]–教师角色之作业题目管理功能实现
本文目录 1. 本章任务 2. 代码实现 2.1 添加菜单 2.2 加载教师所管理的作业 2.3 显示作业题目列表 2.4 作业题目新增功能实现 2.5 作业题目编辑功能的实现 3. 总结
75 0
JSP+Servlet培训班作业管理系统[19]–教师角色之作业打分功能实现
本文目录 1. 本章任务 2. 配置作业批阅菜单 3. 进入作业批阅页面携带数据 4. 作业批阅页面开发 5. 批阅选中作业内容 6. 提交批改 7. 测试运行
69 0
JSP+Servlet培训班作业管理系统[2]--后台管理页面外观实现
本文目录 1. 背景 2. 后台管理页面整体布局 3. 设计页面大框架 4. 完善样式部分 4.1 全局样式 4.2 顶部标题栏样式 4.3 左侧菜单栏样式 4.4 右侧内容区域样式 5. 最终效果
77 0
JSP+Servlet培训班作业管理系统[17]–教师角色之课程管理功能实现
本文目录 1. 本章任务 2. 添加课程管理菜单 3. 跳转课程管理页面 4. 添加课程管理页面 4. 新增功能实现 5. 编辑功能实现 6. 测试验证 7. 总结
86 0
JSP+Servlet培训班作业管理系统[3]–点击菜单加载功能页面
本文目录 1. 背景 2. 创建演示页面 3. 构造超级链接 4. 实现jsp页面的动态包含 4.1 修改左侧菜单部分的超级链接。 4.2 创建用于导航的servlet 4.3 右侧区域动态包含 5. 测试验证
77 0
JSP+Servlet培训班作业管理系统[0]–项目背景与需求分析
本文目录 1. 背景 2. 前置教程 3. 开发理念 4. 需求分析 4.1 系统名称 4.2 用户群体 4.3 主要功能 4.4 主要逻辑 5. 页面设计 6. 总结
48 0
JSP+Servlet培训班作业管理系统[9]–数据库操作类开发
本文目录 1. 本章任务 2. 数据库操作类封装 3. 数据访问类开发 3.1 用户访问类 UserDao 3.2 课程访问类 CourseDao 3. 选课访问类 SelectionDao 4. 作业题目访问类 TitleDao 5. 作业内容访问类 JobDao 4. 总结
78 0
JSP+Servlet培训班作业管理系统[16]–校长角色之课程浏览功能实现
本文目录 1. 本章任务 2. 为校长添加菜单 3. 跳转课程浏览页时携带课程数据 4. 添加course.jsp页面 5. 存在的问题 6. 联表查询用户姓名 6.1 修改Course类 6.2 修改CourseDao 6.3 修改courseView.jsp 7. 总结
57 0
JSP+Servlet培训班作业管理系统[8]–实体模型类开发
本文目录 1. 本章任务 2. 代码实现 3. 总结
61 0
+关注
程序员大阳
计算机技术哪家强,中国山东找大阳
593
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载