校园论坛(Java)—— 用户管理系统模块
创始人
2024-03-16 02:09:02
0次

校园论坛(Java)—— 用户管理系统模块

文章目录

  • 校园论坛(Java)—— 用户管理系统模块
    • @[toc]
    • 1、写在前面
    • 2、系统结构设计
      • 2.1 各个页面之间的调用关系
      • 2.2. 用户管理系统模块各层的设计
    • 3、管理员管理用户功能
      • 3.1 管理员查看普通用户的所有帖子
      • 3.2 管理员管理所有用户
      • 3.3 管理员删除帖子功能的实现
      • 3.4 管理员删除学习专帖
      • 3.5 管理员注销用户功能
    • 5、项目代码

在这里插入图片描述


1、写在前面

  • Windows版本:Windows10
  • JDK版本:Java8
  • MySQL版本:MySQL5.7
  • Tomcat版本:Tomcat9.0
  • IDE:IntelliJ IDEA Ultimate2020.2.3

2、系统结构设计

2.1 各个页面之间的调用关系

在这里插入图片描述

用户管理系统模块

  • userlist.jsp:所有用户包括管理员自身的用户信息列表
  • userforumlist.jsp:管理员查看用户的普通帖子
  • MdeleteUserForumServlet:管理员删除用户普通帖子
  • MdeleteUserServlet:管理员删除用户
  • deleteUserAck.jsp:管理员删除用户后提示删除成功

2.2. 用户管理系统模块各层的设计

各层的代码已在用户登陆注册模块列出了,此处不再展示

  • Entity层

实体层声明学习专帖的user_id、user_name、user_password、user_sex、user_face、user_phone、user_email、user_from、isAdmin等变量以及对应的set、get方法

  • Dao层

Dao层分别实现一个interface接口类以及一个接口方法实现类

  • service层

实现servlet层调用的方法,对数据库进行增删改查操作。

  • Servlet层

在该层,通过jsp页面传递的参数,service对象调用相应的方法进行操作。

3、管理员管理用户功能

3.1 管理员查看普通用户的所有帖子

在userlist.jsp页面为每一个用户都设置了一个“查看发帖”按钮,通过该按钮可以查看展示的对应用户的所有发帖。该功能是由userforumlist.jsp页面传递的uid(用户ID)参数,再调用seeUserForumList()方法到数据库中进行查询操作实现的。

执行完数据库的逻辑操作之后,将请求转发到page/manager/userforumlist.jsp页面,进而显示所有用户的信息。

如下图所示:

在这里插入图片描述

点击「查看发帖」按钮,可以看到对应的用户所发表的所有普通帖子,进入该页面,通过“删帖”按钮即可实现管理员对帖子的删除权限。

在这里插入图片描述

3.2 管理员管理所有用户

管理员查看所有用户是在userlist.jsp页面实现的,通过MuserListServlet的逻辑实现,并传递的属性参数到该页面,由该页面展示所有的用户。

通过调用findUserList()方法然后请求转发到page/manager/userlist.jsp页面显示内容

代码

public class MUserListServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");UserServiceInf service = new UserServiceImpl();List userList = service.findUserList();req.setAttribute("userList", userList);req.getRequestDispatcher("page/manager/userlist.jsp").forward(req, resp);}
}

如下图所示:

在这里插入图片描述

3.3 管理员删除帖子功能的实现

在userforumlist.jsp页面中,对于每一个用户的每一条普通帖子都设置了一个“删帖”按钮用于删除帖子,在此页面获得两个参数uid和fid。其中uid是用户ID,fid为要删除的帖子(主帖)的标识符,通过fid先删除该帖子下的所有回帖,最后再删除主帖(该帖子)。

代码

public class MdeleteUserForumServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");String forumid = req.getParameter("fid");int fid = Integer.parseInt(forumid);String uid = req.getParameter("uid");ForumServiceInf service = new ForumServiceImpl();service.deleteReplyByFid(fid);service.deleteForumByFid(fid);req.setAttribute("uid", uid);req.getRequestDispatcher("MSeeUserForumServlet").forward(req, resp);}
}

在这里插入图片描述

3.4 管理员删除学习专帖

普通用户和管理员删除学习专帖的功能实现为同一逻辑和物理操作。

在studyReply.jsp页面中,如果当前浏览的学习专帖发表者是当前登录用户或者当前登录用户是管理员身份,则设置有一个「删除本帖」的按钮,在此页面获得两个参数uid和sid。其中uid是用户ID,sid为要删除的帖子(主帖)的标识符,通过sid先删除该帖子下的所有回帖,最后再删除主帖(该帖子)。

学习专帖的删除需要判断当前登录用户是否为管理员,如果是,会有「删除本帖」的按钮,否则不会显示此按钮

判断用户代码如下:



通过传递的参数,然后调用findStudyList()方法执行数据库逻辑操作,最后将请求转发到page/manager/deleteStudyList.jsp页面

3.5 管理员注销用户功能

在用户管理模块,管理员可以通过点击“注销”按钮,来注销掉普通用户

如下图所示:

在这里插入图片描述

5、项目代码

  • GitHub
  • Gitee

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...