idea 开发serlvet班级通讯录管理系统idea开发mysql数据库web结构计算机java编程layUI框架开发

news2024/11/15 7:04:03

一、源码特点
  idea开发 java servlet 班级通讯录管理系统是一套完善的web设计系统mysql数据库 系统采用serlvet+dao+bean mvc 模式开发,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。

servlet 班级管理系统2


二、功能介绍

系统面向管理员和普通用户两类。
a)    管理员可进行用户管理、班级管理、对用户所在班级的通讯录条目管理,对以上各种信息(用户、班级、通讯录条目)进行批量增删改查;
b)    普通用户登录后可以查看自己归属的班级的通讯录(权限控制,只能修改、删除自己的记录,对其他的同学的记录内容只能查看)。
系统登录需要session验证并显示用户名;系统要求有退出(退出后session无效)。
系统功能如下:
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)班级管理:对班级信息进行添加、删除、修改和查看
(3)用户管理:对用户信息进行添加、删除、修改和查看
(4)通讯录管理:对通讯录信息进行添加、删除、修改和查看
(5)个人信息修改

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表banji] 班级列属性表格

序号字段名称数据类型长度主键描述
1bjidINTEGER11班级编号
2bjmcVARCHAR40班级名称
3zyVARCHAR40专业

[表yonghu] 用户列属性表格

序号字段名称数据类型长度主键描述
1yhidINTEGER11用户编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5xhVARCHAR40学号
6bjVARCHAR40班级
7lxdhVARCHAR40联系电话

[表txl] 通讯录列属性表格

序号字段名称数据类型长度主键描述
1txlidINTEGER11通讯录编号
2xmVARCHAR40姓名
3lxdhVARCHAR40联系电话
4dzVARCHAR40地址
5qqVARCHAR40QQ
6wxVARCHAR40微信
7bjVARCHAR40班级
8yhVARCHAR40用户

代码设计

	private void insertM(HttpServletRequest request, HttpServletResponse response){//班级添加
		banjiDao dao=new banjiDao();
		banji banji=new banji();
		banji.setBjid((String)request.getParameter("keyid"));
String bjmc=(String)request.getParameter("bjmc");//班级名称
banji.setBjmc(bjmc);
String zy=(String)request.getParameter("zy");//专业
banji.setZy(zy);

	response.setCharacterEncoding("gb2312");//设置字符集 仿制乱码
		try {
			dao.insert(banji);
			request.setAttribute("flag", "操作成功"); 
			
			
			
			request.getRequestDispatcher("banji/banjiadd.jsp").forward(request, response);
		} catch (Exception e) {
			e.printStackTrace();
		}
				
	}
	private void ListM(HttpServletRequest request, HttpServletResponse response){//班级信息列表
		ResultSet rs=null;
		banjiDao dao = new banjiDao();
	    System.out.println("alist");

		String sql="";
		response.setCharacterEncoding("gb2312");//设置字符集 仿制乱码
		try{

	String bjmc=(String)request.getParameter("bjmc");//班级名称
	if(bjmc!=null&&!bjmc.equals("")){
	sql+=" and bjmc like '%"+bjmc+"%'";//符合条件 拼接sql 班级名称
	}
	
	String zy=(String)request.getParameter("zy");//专业
	if(zy!=null&&!zy.equals("")){
	sql+=" and zy like '%"+zy+"%'";//符合条件 拼接sql 专业
	}
	

			rs=dao.qlist(sql);

			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
		

			request.getRequestDispatcher("banji/banjilist.jsp").forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void PListM(HttpServletRequest request, HttpServletResponse response){//测试信息列表
		ResultSet rs=null;
		banjiDao dao = new banjiDao();
	   
	    String str=(String)request.getParameter("Page");
		String sql="";
		response.setCharacterEncoding("gb2312");//设置字符集 仿制乱码
		try{
			
if(str==null){
				str="0";
				}
	String bjmc=(String)request.getParameter("bjmc");//班级名称
	if(bjmc!=null&&!bjmc.equals("")){
	sql+=" and bjmc like '%"+bjmc+"%'";//符合条件 拼接sql 班级名称
	}
	
	String zy=(String)request.getParameter("zy");//专业
	if(zy!=null&&!zy.equals("")){
	sql+=" and zy like '%"+zy+"%'";//符合条件 拼接sql 专业
	}
	
rs=dao.qlist(sql);

			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
		

		request.getRequestDispatcher("banji/banjiinfo.jsp?Page=1").forward(request, response);
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}
	private void modifyIndex(HttpServletRequest request, HttpServletResponse response){//班级修改首页
			ResultSet rs=null;
	response.setCharacterEncoding("gb2312");//设置字符集 仿制乱码
		banjiDao dao = new banjiDao();
		
	
		String keyid=(String)request.getParameter("keyid");
		String sql="";
	
		
		if(keyid!=null&&!keyid.equals("")){
			
			sql+=" and bjid='"+keyid+"'";
			
		}
		try{
			rs=dao.qlist(sql);
			PrintWriter out = response.getWriter();
			request.setAttribute("rs", rs); 
			
			request.getRequestDispatcher("banji/banjimodify.jsp").forward(request, response);
			//response.sendRedirect("banji/banjimodify.jsp");
		}catch(Exception e){
			e.toString();
			e.printStackTrace();
		}
		
	}

三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为TOMCAT9.0,idea2019.3 jdk1.8开发,数据库为mysql5.5,使用java语言开发。
3、数据库文件名是jspbanji.sql ,系统名称banji
4、地址:login.jsp

四系统实现

下载地址

https://download.csdn.net/download/qq_41221322/88984671

需要其他的服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
** 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1527617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【linux】Debian访问Debian上的共享目录

要在Debian系统上访问共享目录,通常意味着要访问通过网络共享的文件夹,比如通过SMB/CIFS(Server Message Block/Common Internet File System)协议共享的Windows共享文件夹。以下是访问共享目录的步骤: 1. 安装必要的…

边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 边缘设备图像识别及部署(二)

专栏目录 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 – 整体介绍(一) 边缘计算WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 边缘图像识别及部署(二) 前言边缘图像识别与推流整体思路原始…

蓝桥杯刷题总结(Python组)

1、蛇形矩阵 解题思路:每次赋值后都对方向进行改变,一般上下左右就是(-1,0),(0,1),(1,0),(0&…

分布式事务的解决方案--Seata架构

一、Seata的XA模式 二、AT模式原理 三、TCC模式原理 四、MQ分布式事务 异步,非实时,实现最终的一致性。 四、分布式事务的解决方案

【MLLM+轻量多模态模型】24.02.Bunny-v1.0-2B-zh: 轻量级多模态语言模型 (效果一般)

24.02 北京人工智能研究院(BAAI)提出以数据为中心的轻量级多模态模型 arxiv论文:2402.Efficient Multimodal Learning from Data-centric Perspective 代码:https://github.com/BAAI-DCAI/Bunny 在线运行:https://wis…

CSS元素定位(学习笔记)

一、 z-index 1.1 作用 规定元素的堆叠顺序,取值越大,层级越往上 1.2 属性值 属性值为数字,可以取负值,不推荐 默认值:auto(跟父元素同一层级) 1.3 注意 必须配合定位(static除外)使用,默认情况下,后面的元…

openssl3.2 - exp - openssl speed test

文章目录 openssl3.2 - exp - openssl speed test概述笔记表面上能列出的算法集合没列出的算法, 有的也支持不支持的算法的例子直接提示算法不支持算法的属性找不到到底哪些算法才是可以测试的算法?那看看哪些算法是支持的?包含支持的算法的名称数组在算法失败的提示处, 将支…

【Redis】缓存穿透

问题发生背景:客户端请求的数据再缓存中和数据库中都不存在。 导致的问题:缓存永远不会生效,这些请求都会去请求数据库—导致数据库压力增大。 解决方案: 1.缓存空对象 在Redis中缓存空对象,告诉客户端数据库中没有该值…

Python快速导入id至json文件(2024.3.19)

Python实现id导入至json文件 2024.3.19 需求分析1、输入数据介绍1.1 三个.txt文件1.1.1 computers.txt(计算机)1.1.2 cameras.txt(摄像头)1.1.3 monitors.txt(显示器) 1.2 单个.xlsx文件 2、实现思路3、Pyt…

Day21:实现退出功能、开发账号设置、检查登录状态

实现退出功能 将登录凭证修改为失效状态。跳转至网站首页。 数据访问层 不用写了,已经有了updateStatus方法; 业务层 UserService public void logout(String ticket) {loginTicketMapper.updateStatus(ticket, 1);}Controller层 RequestMapping(p…

opc客户端

支持opc,da,ua通信(匿名登陆及用户登陆) 支持批量节点数据监听,当数据有变化时更新 支持单个节点读取和写入 KeepServer做为modbus server keepserver通信配置 https://blog.csdn.net/xiaochenXIHUA/article/detail…

【Qt问题】使用QSlider创建滑块小部件无法显示

问题描述: 使用QSlider创建滑块小部件用于音量按钮的时候,无法显示,很奇怪,怎么都不显示 一直是这个效果,运行都没问题,但是就是不出现。 一直解决不了,最后我在无意中,在主程序中…

【开发】Redis 的理解与数据存储格式

目录 相关传送门 1. NOSQL和关系型数据库比较 2. 主流的NOSQL产品 3. Redis的理解 4. redis数据存储格式 4.1 String 4.2 Hash 4.3 List 4.4 Set 4.5. sorted_set 注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况,请谅解&#xf…

2、RabbitMQ_安装

RabbitMQ安装文档 RabbitMQ官网下载地址:https://www.rabbitmq.com/download.html 1.安装依赖 在线安装依赖环境: yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c kernel-devel m4 ncurses-devel tk tc x…

【算法与数据结构】二叉树(前中后)序遍历

文章目录 📝前言🌠 创建简单二叉树🌉二叉树的三种遍历🌠前序🌉中序遍历 🌠后序遍历 🌠二叉树节点个数🌉二叉树节点个数注意点 🚩总结 📝前言 一棵二叉树是结…

为什么选择 Flink 做实时处理

优质博文:IT-BLOG-CN 为什么选择 Flink 【1】流数据更真实地反映了我们的生活方式(实时聊天); 【2】传统的数据架构是基于有限数据集的(Spark 是基于微批次数据处理); 【3】我们的目标&#xf…

C语言-memset(改变数值函数)

memset&#xff08;改变数值函数&#xff09; 函数的语法 &#xff08;第几个元素&#xff0c;改变成什么元素&#xff0c;几个字节&#xff09; memset函数是C语言标准库函数之一&#xff0c;用于将内存中的某一块区域全部设置为某个特定的值。它定义在<string.h>头文…

MyBatisPlus 之四:MP 的乐观锁和逻辑删除、分组、排序、链式的实现步骤

乐观锁 乐观锁是相对悲观锁而言的&#xff0c;乐观锁假设数据一般情况不会造成冲突&#xff0c;所以在数据进行提交更新的时候&#xff0c;才会正式对数据的冲突与否进行检测&#xff0c;如果冲突&#xff0c;则返回给用户异常信息&#xff0c;让用户决定如何去做。 乐观锁适用…

服务器数据恢复—光纤环境互斥不当导致存储VMFS卷损坏的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 某公司的信息管理平台&#xff0c;通过3台虚拟机共享了一台存储设备供企业内部使用&#xff0c;存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要&#xff0c;管理员又在这个存储网络上连接了一台Windows server服务器&a…

供应链投毒预警 | 开源供应链投毒202402月报发布啦

概述 悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库&#xff0c;结合程序动静态分析方式对潜在风险的开源组件包进行动态跟踪和捕获&#xff0c;发现大量的开源组件恶意包投毒攻击事件。在2024年2月份&#xff0c;悬镜供应链安全情报中心在NPM官方仓库&#xff08;…