JSP+Servlet培训班作业管理系统[11]–人员浏览功能的实现

简介: 本文目录1. 本章任务2. 为校长角色添加人员管理菜单3. 携带人员列表信息进入人员管理页面4. 在人员管理页面显示人员列表5. 总结

1. 本章任务

之前已经实现了登录功能,要想使整个系统运转起来,首先就要建立教师和学生的档案信息,使学生和老师都能登录系统进行操作。


按我们的设计,培训学校的校长负责进行人员管理操作,包括管理校长、教师、学生,注意校长也可以有多个,避免有一个校长请假导致系统没法运转了。


本章的任务就是开发校长角色人员管理页面中浏览所有人员列表的功能。


2. 为校长角色添加人员管理菜单

修改Constants类,为校长角色添加人员管理页面usermanage.jsp。


public class Constants {

// 用于保存角色及对应的菜单信息

public static HashMap<String, String[][]> roleMenuMap = new HashMap<String, String[][]>();

// 使用static代码块对roleMenuMap进行初始化

static {

 // 校长拥有的菜单

 roleMenuMap.put("master", new String[][] { { "人员管理", "usermanage.jsp" } });

}

}

1

2

3

4

5

6

7

8

9

3. 携带人员列表信息进入人员管理页面

回忆下点击左侧菜单发生了什么,我们看下左侧菜单内容:


 <div id="left">

  <ul>

   <c:forEach items="${loginMenus}" var="menu">

    <li>

    <a href="/HomeworkSystem/RouteServlet?childPage=${menu[1]}">${menu[0]}</a>

    </li>

   </c:forEach>

  </ul>

 </div>

1

2

3

4

5

6

7

8

9

其实点击左侧菜单后,会先进入RouteServlet,同时传递一个页面字符串参数(此处为'usermanage.jsp')给RouteServlet。RouteServlet会根据字符串跳转相应页面。


此处就需要注意了,我们跳转到人员管理页面时,是想显示当前所有用户列表的,所以应该查询出所有用户列表信息放入request对象中,然后传递给页面显示。


所以修改RouteServlet类如下:


@WebServlet("/RouteServlet")

public class RouteServlet extends HttpServlet {

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

 }

 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

4. 在人员管理页面显示人员列表

新建userManage.jsp页面,此时可以通过<c:forEach>标签遍历users变量,将用户列表显示到页面上。


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

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

此时使用赵校长+123登录并点击左侧人员管理菜单后,即可查看人员列表了,效果如下:

image.png

5. 总结

可以从网页上查看所有用户数据,是一个巨大的进步,从此可以说这个网站有点用了。非常不错!

相关文章
|
5天前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
|
5天前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
|
2天前
|
存储 设计模式 搜索推荐
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)
5 1
|
2天前
|
XML 前端开发 Java
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(上)
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(上)
7 0
|
1月前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
40 5
|
1月前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
37 1
|
5天前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
|
5天前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
|
5天前
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
|
5天前
|
缓存 负载均衡 安全
Servlet与JSP在Java Web应用中的性能调优策略
【6月更文挑战第23天】在Java Web中,Servlet和JSP调优至关重要,以应对高并发和复杂业务带来的性能挑战。优化包括Servlet复用、线程安全、数据库连接池,以及JSP的编译优化、使用JSTL、页面缓存和静态内容分离。全局优化涉及负载均衡、异步处理和缓存策略。通过这些实践,开发者能提升应用响应速度和吞吐量,确保高负载下的稳定运行。