基于javaweb的会议管理系统源码+数据库,javaEE会议管理系统源码

news2024/11/24 12:41:39

guihaiyidao_git

介绍

在这里插入图片描述

javaEE工程
普通的javaEE工程,用idea打开工程即可运行
服务器用的是Tomcat 8.5.722
数据库用的Oracle xe版
数据库可视化工具使用的是PLSQL

相关软件

需要可从百度网盘中获取
链接:https://pan.baidu.com/s/1ZrmfsvQEA4dIP0GF_psArQ
提取码:abcd

guihaiyidao_git

软件架构

软件架构说明

HTML+Css+JavaScript+JQuery+Java+Oracle

  • resource里面是jdbc.properties,连接的是Oracle数据库,xe版
  • src分controller层和service层
  • controller层分为四个包
  • controller层
  • fileservlet包是文件的上传
  • 里面uploadservlet
  • filter包是过滤器
  • EncodingFilter
  • 这个专门过滤中文编码,访问乱码
  • LoginAutoFilter
  • 这个专门过滤登录信息,可以查看是否登陆过,如果登陆过可以直接访问其他资源
  • 如果未登录,强制跳转到登录界面
  • LoginFilter
  • 看是不是第一次登陆,通过cookie判断
  • listener包
  • VisitListener主要用来统计访问量
  • utils包
  • 里面的ServletProcessing主要用来将字符串的内容规范一下,去掉引号
  • webservlet包
  • 实现一些增删改查给前端数据
  • service层里面主要是JDBC
  • dao,service,entity,utils
  • dao里面是一些增删改查
  • service是检验增删改查是否成功
  • entity是实体类
  • orm思想对应表的实体类,还有一些需要临时查询创建的实体类
  • utils
  • 里面是数据库连接需要的获取连接,以及德鲁伊连接池

关键的sql语句

 //employee

//注册

//注册验证

public static String select_Register_inspection="select e.EMPLOEENAME,e.USERNAME,e.PASSWORD,e.PHONE,e.EMAIL,d.departmentname 
    from employee e,department d 
    where d.departmentid=e.departmentid 
    and EMPLOEENAME=? and USERNAME=? 
    and PASSWORD=? and PHONE=? and EMAIL=? 
    and d.departmentname=?;


//插入头像

public static String insert_HeadPortrait_all="insert into employee (employeeid,pic) values(EMPLOYEES_SEQ.nextval,?)";
//找到部门编号

public static String select_DepartmentName_DepartmentId="select departmentid from department where departmentname=?";
//补充其余注册信息

public static String update_EmploeeMessageByPic="update  employee set status=0,role=2,departmentid=?,EMPLOEENAME=?,USERNAME=?,PASSWORD=?,PHONE=?,EMAIL=?where pic=?";
//注册检验

public static String select_EmployeeMessageByPic_AccordingDepartmentEmployee="select EMPLOEENAME,USERNAME,PASSWORD,pic,PHONE,EMAIL,departmentname 
                  from(select e.EMPLOEENAME,e.USERNAME,e.PASSWORD,e.pic,e.PHONE,e.EMAIL,d.departmentname 
                    from employee e,department d
                    where d.departmentid=e.departmentid)where pic =?";

//Employee
//登录检验
public static String select_Employee_login="select * from employee where username=?and password=?";
//登录身份检验
public static String select_Employee_identify="select role from employee where username=? and password=?";
//审批检验
public static String select_Employee_Examine="select  emploeename,username,phone,email from employee where status=0 and role=2";
//审批通过/不通过
public static String update_Employee_Approve="update  employee set status=?  where emploeename=?";
//是否是审批通过的
public static String select_Employee_user_pass="select status from employee where username=? and password=? ";
//department
//部门管理
//查询所有部门
 public static String select_Department_manga="select departmentid,departmentname from department";
 //插入部门信息
public static String insert_Department_manga="insert into department values(DEPARTMENT_ID_SEQ.nextval,?,'1')";
//删除部门信息
public static String delete_Department_manga="delete department where departmentname=?";
//visit
//访问次数
//获取上次访问的次数
public static String select_Visit_Count="select * from visit";
//数据库记录访问的次数
public static String update_Visit_Count="update visit set count = ?";
//清空记录
public static String update_Visit_clear="update visit set count=''";
//搜索

//Employee
//模糊查询
public static String selectSearchEmployee="select emploeename,username,phone,email from employee where 1=1 ";
//分页查询
//总记录
public static String selectCount="select count(*) from employee";
//每页多少条记录
public static String selectPage="SELECT emploeename,username,phone,email FROM 
                                (SELECT rownum r,e.emploeename,e.username,e.phone,e.email  
                                from employee e)where r>=? and r<=?";

//meetingroom
//会议室
//所有会议室信息
public static String selectMeeting="select roomnum,roomname,capacity,status from meetingroom";
//插入会议室信息
public static String insertMeeting="insert into meetingroom(roomid,roomnum,roomname,capacity,status)values(MEETINGROOM_ID_SEQ.nextval,?,?,?,?)";
//修改会议室信息根据id
public static String updateMeeting="update meetingroom set roomnum=?,roomname=?,capacity=?,status=? where roomnum=?";

//meetingvo
//会议
  public static String selectVo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,e.emploeename
                              ename, e.employeeid eid 
                            from meeting m,meetingroom r,meetingparticipants p,employee e
                             where m.roomid=r.roomid and m.reservationisld=p.employeeid 
                            and p.employeeid=e.employeeid";
 public static String selectPojo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,e.emploeename 
                            ename,e.employeeid eid 
                            from meeting m,meetingroom r,meetingparticipants p,employee e where m.roomid=r.roomid and m.reservationisld=p.employeeid
                            and p.employeeid=e.employeeid and e.employeeid=?";
 public static String updatePojo="update meeting set status='1',DESCRIBE=? where RESERVATIONISLD=? ";
 public static String selectBo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,e.emploeename 
                            ename, e.employeeid eid,m.status mstatus 
                            from meeting m,meetingroom r,meetingparticipants p,employee e 
                            where m.roomid=r.roomid and m.reservationisld=p.employeeid and p.employeeid=e.employeeid and m.status='0'";
 public static String selectPo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,e.emploeename
                             ename, e.employeeid eid,m.status mstatus,m.describe mdescribe 
                            from meeting m,meetingroom r,meetingparticipants p,employee e where m.roomid=r.roomid 
                            and m.reservationisld=p.employeeid and p.employeeid=e.employeeid and m.status='1'";
 public static String selectqo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,e.emploeename
                         ename
                        from meeting m,meetingroom r,meetingparticipants p,employee e where m.roomid=r.roomid and m.reservationisld=p.employeeid and 
                       p.employeeid=e.employeeid and 1=1 ";
    
//分页查询
  public static String qoCount= "select count(*) from meeting";
  public static String qoPage="select mname,rname,stime,etime,rtime,ename 
                                from(select rownum r,m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,
                                 m.RESERVETIME rtime,e.emploeename ename 
                                from meeting m,meetingroom r,meetingparticipants p,employee e where m.roomid=r.roomid and
                                 m.reservationisld=p.employeeid and p.employeeid=e.employeeid and 1=1)where r>=? and r<=?";
  public static String selectTo="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,
                                    e.emploeename ename 
                                    from meeting m,meetingroom r,meetingparticipants p,employee e 
                                    where m.roomid=r.roomid and m.reservationisld=p.employeeid and p.employeeid=e.employeeid";
  public static String selectToto="select m.MEETINGNAME mname,r.roomname rname,m.STARTTIME stime,m.ENDTIME etime,m.RESERVETIME rtime,
                                    e.emploeename  ename 
                                    from meeting m,meetingroom r,meetingparticipants p,employee e 
                                    where m.roomid=r.roomid and m.reservationisld=p.employeeid and p.employeeid=e.employeeid where";

//会议室名称
//部门人员
//预定
//预定信息查询
  public static String selectDto= "select m.meetingname mname,m.numberofparticipants partic,m.starttime stime,m.endtime etime,r.roomname
                                     rname,m.describe describe,e.emploeename ename 
                                    from meeting m,employee e,department d,meetingroom r 
                                    where m.reservationisld=e.employeeid and e.departmentid=d.departmentid and r.roomid=m.roomid";

//插入会议室信息
  public static String insertDto=" insert into meeting
                                (meetingid,meetingname,numberofparticipants,starttime,endtime,describe)
                                values(MEETINGID_PA_SEQ.nextval,?,?,?,?,?)";

 //预定修改,根据会议名称修改人员
 //先知道人员id
  public static String selectByName="select employeeid from employee e where emploeename=?";
  public static String updateByRname="update meeting set reservationisld=? where meetingid=? ";
//预定修改,根据会议名称修改
//先知道会议室id
   public static String selectByRname="select roomid from meetingroom where roomname=?";
   public static String updateByRid="update meeting set ROOMID=? where meetingid=?";
//根据部门名称得到部门有哪些人
    public static String  getEnameByDeptName="select  emploeename from department d,employee e where d.departmentid=e.departmentid
                                              and d.departmentname=?";
    public static String getRName="select roomname from meetingroom";
    public static String getMeetingID="select MEETINGID_PA_SEQ.nextval from dual";
    public static String updateByDept="update meetingparticipants  set meetingid=? where employeeid=?";
    public static String getEmployid="select e.employeeid 
                                        from department d,employee e,meeting m 
                                        where e.employeeid=m.reservationisld and e.departmentid=d.departmentid and d.departmentname=?";

    public static String  updateTwice="update meeting set roomid=? where meetingid=?";

    public static String updateRid="update meeting set reservationisld=? where MEETINGID=?";

    public static String getEid="select EMPLOYEEID from meetingparticipants p, meeting m 
                                  where p.meetingid=m.meetingid and m.meetingid=?";

    public static String addIDpm="insert into meetingparticipants 
                                   values(MEETINGID_PA_SEQ.nextval-2,MEETINGID_PA_SEQ.nextval-2)";
  //已经取消
    public static String selectCancel="select m.meetingname mname,r.roomname rname,m.starttime stime,m.endtime etime from meeting m,meetingroom r
                                   where m.roomid=r.roomid  order by starttime desc";
 //未来七天排序
    public static String selectOrder="select m.meetingname mname,r.roomname rname,m.starttime stime,m.endtime etime from meeting m,meetingroom r 
                                  where m.roomid=r.roomid and canceltime is null order by starttime desc";

效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

功能介绍

登录

  • 用户名密码登录
  • 校验必须是数据库中已经有的用户名密码
  • 而且必须通过注册审批
  • 如果是第一次登录,会加一个cookie
  • 选择不用时间,来决定cookie的生存周期
  • 登录成功以后算访问一次,访问次数加1
  • 并记录访问的用户名密码,
  • 关闭服务器时候,数据库会记录这个数据
  • 如果之前登陆过,会有弹窗提示无须再登录
  • 登录时候,系统根据你的用户是一般用户
  • 还是高级用户,不同用户进入界面不一样,权限也不同
  • 登录成功以后会有数据显示你登录的信息,(底层是ajax实现的)
  • 两次密码必须一致

注册

  • 上传是一个servlet
  • 填别的信息是一个servlet
  • 上传成功以后不会刷新
  • 会停留在当前页面(底层是ajax实现的)
  • 然后继续填完其他信息,才会提示注册成功
  • 两个form表单
  • 一个用来上传文件(用户头像)
  • 一个用来填其余信息
  • 注册成功但是不代表注册审批会通过
  • 会标记为待审批
  • 审批通过以后才可以登录
  • 用户注册的信息必须之前没有才会成功
  • 两次密码必须一致

注册审批

  • 管理员登录进入以后
  • 可以进入注册审批界面
  • 这个界面都是待审批的人
  • 如果审批通过或者不通过以后
  • 页面刷新
  • 审批过的就不会显示
  • 如果全部审批完事
  • 会显示没有要审批的

部门管理

  • 可以查看所有的部门
  • 并添加部门
  • 删除部门

网站访问次数统计

  • 使用监听器

简化登录

  • 一段时间内可以不用登录

搜索员工

  • 可以通过员工姓名用户名状态进行模糊搜索
  • 如果某一项为空,则不作为查询条件
  • 对查询结果可以分页显示

会议室管理

  • 添加会议室
  • 查询所有会议室
  • 修改会议室
  • 查看某一个会议室

预定会议

  • 填写会议的信息
  • 查询会议的信息
  • 取消会议
  • 查看用户预定过的所有会议
  • 查询用户需要参加的会议

安装教程

  1. 导入idea
  2. 导入Oraclexe的sql文件

使用说明

  1. 把代码解压到一个路径,然后用idea打开,
  2. 将sql文件在OracleXe里运行,
  3. 打开plsql,插入数据

完整代码下载地址:基于javaweb的会议管理系统源码+数据库

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

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

相关文章

CSS 布局 - 水平 垂直对齐

CSS 布局 - 水平 & 垂直对齐 那么怎样设置居中对齐呢? 我们可以用margin: auto来设置水平居中对其元素。auto可以防止 元素的宽高溢出&#xff0c;而且也可以平均分配两边的空白。 举例说明: .center {padding: 23px;border: 5px solid red;width: 41%;margin: auto; }那…

【数据结构】单向链表的原理及实现

1.什么是单链表 链表里的数据是以节点的方式表示的&#xff0c;每一个结点的组成是由&#xff1a;元素指针来组成的&#xff0c;元素就是存储数据里的存储单元&#xff0c;指针就是用来连接每一个结点的地址数据。这个以结点的序列来表示线性表被称作为单链表。 单链表是一种…

牛客寒假算法集训营1 补题

标题迷惑大赏 A、World Final? World Cup! 题目描述 众所周知&#xff0c;2022年是四年一度的世界杯年&#xff0c;那么当然要整点足球题。本题需要你模拟一次点球大战。 假设对战双方为A和B&#xff0c;则点球大战中双方会按照ABABABABAB方式来罚点球&#xff0c;即两队交…

【闪电侠学netty】第7章 数据载体ByteBuf的介绍

1. 内容概要 1.1 总结 1.1.1 内存管理 Netty 使用的是堆外内存&#xff0c;需要手动释放&#xff0c;使用引用计数的方式管理内存&#xff0c;当引用计数 0&#xff0c;回收ByteBuf 底层内存 原则&#xff1a;谁使用retain() , 谁释放release() 1.1.2 创建ByteBuf的方式 B…

ASCII码,字符,字符串三者之间的关系

程序调试中遇到问题&#xff1a;在使用sprintf 函数&#xff0c;在转换字符串时&#xff0c;如果遇到0时&#xff0c;会自动认为是结束标志&#xff0c;0以后的内容不会被添加进来。复习一下字符串&#xff1a;一. ASCII码是什么&#xff1f;ASCII 全称为 ( American Standard …

【2023更新】通过硬件触发信号实现OAK多相机之间的同步拍摄

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 ▌前言 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手…

经典文献阅读之--NeRF-SLAM(单目稠密重建)

0. 简介 最近几年随着深度学习的发展&#xff0c;现在通过深度学习去预估出景深的做法已经日渐成熟&#xff0c;所以随之而来的是本文的出现《Real-Time Dense Monocular SLAM with Neural Radiance Fields》。这篇文章是一个结合单目稠密SLAM和层次化体素神经辐射场的3D场景重…

【自学Docker 】Docker管理命令大全(下)

文章目录Docker kill命令Docker kill命令概述Docker kill命令语法Docker kill命令参数案例使用容器 ID 杀掉容器使用容器名杀掉容器Docker kill命令总结Docker rm命令Docker rm命令概述Docker rm命令语法Docker rm命令参数案例删除已停止的容器删除正在运行的容器Docker rm命令…

13.拷贝控制

文章目录拷贝控制13.1拷贝、赋值与销毁13.1.1拷贝构造函数合成拷贝构造函数拷贝初始化参数和返回值编译器可以绕过拷贝构造函数13.1.2拷贝赋值运算符重载赋值运算符合成拷贝赋值运算符13.1.3析构函数析构函数完成什么工作什么时候会调用析构函数合成析构函数13.1.4三/五法则需要…

寒假题练——day(4)

题目 1 一个数组中只有两个数字是出现一次&#xff0c;其他所有数字都出现了两次。 编写一个函数找出这两个只出现一次的数字。 #include<stdio.h> int main() {int arr[] { 1, 3, 8, 1, 3, 8, 4, 6 };int num 0;int sz sizeof(arr) / sizeof(arr[0]);int i 0;int…

【Linux】六、Linux 基础IO(二)|重定向|如何理解 Linux一切皆文件|缓冲区

目录 五、重定向 5.1 什么是重定向 5.2 系统调用 dup2 5.3 三种重定向测试 5.3.1 输出重定向(>) 5.3.2 追加重定向(>>) 5.3.3 输入重定向(<) 5.4 父子进程拷贝问题 六、如何理解 Linux一切皆文件 七、缓冲区 7.1 认识缓冲区 7.2 缓冲区的刷新策略 …

连续系统PID的Simulink仿真-2

仍以二阶线性传递函数为被控对象&#xff0c;进行模拟PID 控制。被控对象形式为,其中b为在[103,163]范围内随机变化&#xff0c;a为在[15,35]范围内随机变化&#xff0c;则被控对象的描述方式可转换为&#xff1a;S函数是Simulink一项重要的功能&#xff0c;采用S函数可实现在S…

Pandas 数据清洗

Pandas 数据清洗数据清洗是对一些没有用的数据进行处理的过程。很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况&#xff0c;如果要对使数据分析更加准确&#xff0c;就需要对这些没有用的数据进行处理。在这个教程中&#xff0c;我们将利用 Pandas包来进行数…

微软ATP带你看| 爆火的ChatGPT是什么?

&#xff08;本文阅读时间&#xff1a;7分钟&#xff09;OpenAI最新聊天机器人ChatGPT火爆全网&#xff01;能写代码、编剧本&#xff0c;马斯克都盛赞它“好得吓人”&#xff01;ChatGPT是什么GPT(Generative Pre-trained Transformer)系列是由OpenAI提出的非常强大的预训练语…

MaxCompute SQL示例解析

MaxCompute SQL示例解析 介绍MaxCompute SQL常见使用场景&#xff0c;掌握SQL的写法。 准备数据集 本文以emp表和dept表为示例数据集。您可以自行在MaxCompute项目上创建表并上传数据。 emp.csv中数据如下 7369,SMITH,CLERK,7902,1980-12-17 00:00:00,800,20 7499,ALLEN,SALES…

aws codebuild 使用和配置codebuild测试报告

参考资料 使用 Amazon CodeBuild 中的测试报告在 CodeBuild 使用AWS CLI样本中创建测试报告aws-codebuild-samples 在codebuild构建过程中获取有关在构建期间运行的测试的详细信息。 codebuild测试报告 通过在buildspec.yaml中配置报告组&#xff0c;运行构建项目时系统将运…

【代码随想录】96.不同的二叉搜索树

96.不同的二叉搜索树 思路 n为1的时候有一棵树&#xff0c;n为2有两棵树&#xff0c;这个是很直观的。 n为3的时候&#xff0c;有哪几种情况。 当1为头结点的时候&#xff0c;其右子树有两个节点&#xff0c;看这两个节点的布局&#xff0c;是不是和 n 为2的时候两棵树的布…

控价公司可以帮我们做什么?什么时候需要找第三方控价公司?

如果&#xff0c;我们品牌的销售渠道遭遇了低价乱价、窜货、侵权、假冒等问题&#xff0c;扰乱了我们品牌的渠道秩序&#xff0c;或者是我们在品牌发展的过程中&#xff0c;想通过对行业和竞品的了解来明确发展方向和策略&#xff0c;而自己又分身乏术或无从下手&#xff0c;这…

车辆信息查询

要想查一辆汽车的信息&#xff0c;除了去各个汽车平台上查询&#xff0c;比如汽车之家、易车网、懂车帝等&#xff0c;还可以使用“汽车公告查询”。 通过常规网页百度搜索引擎&#xff0c;输入关键字“汽车公告查询”&#xff0c;就会获取到相关搜索结果&#xff0c;汽车公告查…

C进阶_内存库函数

目录 memcpy 模拟实现memcpy memmove 模拟实现memmove memcmp memcpy 它的函数原型为&#xff1a; void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。 这个函数…