作者主页:源码空间站2022

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

网上会议室预约系统,该项目是一个前后台的项目;

前台主要功能有:
登录、注册;
首页、预约须知;
会议室预约;
会议室信息;
会议室预约表;
后台主要功能有:
通告栏:查看、添加、修改、删除;
会议室信息:查看、添加、修改、删除;
查看登记表;

查看预约消息;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 8.0版本;

技术栈

1. 后端:Servlet

2. 前端:JSP+bootstrap+jQuery

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中druid.properties配置文件中的数据库配置改为自己的配置
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,
前台运行地址:http://localhost:8080/index.jsp 登录

后台运行地址:http://localhost:8080/back/index.jsp 登录

运行截图

相关代码

AddApplyServlet

package com.xk.meeting.controller;import com.xk.meeting.entity.Apply;
import com.xk.meeting.entity.Meeting;
import com.xk.meeting.entity.User;
import com.xk.meeting.service.ApplyService;
import com.xk.meeting.service.ApplyServiceImpl;
import com.xk.meeting.service.MeetingService;
import com.xk.meeting.service.MeetingServiceImpl;
import com.xk.meeting.utils.MyDateConverter;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Map;
import java.util.Set;@WebServlet("/addApply")
public class AddApplyServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");Map<String, String[]> applyMap = request.getParameterMap();Apply apply = new Apply();try {ConvertUtils.register(new MyDateConverter(), Date.class);BeanUtils.populate(apply,applyMap);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}User user = (User)request.getSession().getAttribute("user");if (user != null){apply.setUid(user.getId());ApplyService applyService = new ApplyServiceImpl();int count = applyService.addApply(apply);if (count > 0){request.setAttribute("msg","已发送申请,等待审核通过");request.getRequestDispatcher("apply.jsp").forward(request,response);}else {response.sendRedirect("errorPage.jsp");}}else {response.sendRedirect("login.jsp");}}
}

ApplyServiceImpl

package com.xk.meeting.service;import com.xk.meeting.dao.ApplyDao;
import com.xk.meeting.dao.ApplyDaoImpl;
import com.xk.meeting.entity.Apply;
import com.xk.meeting.entityutils.ListPage;
import com.xk.meeting.entityutils.PageBean;
import com.xk.meeting.entity.Regform;
import com.xk.meeting.entityutils.ApplyList;
import com.xk.meeting.entityutils.DateTime;import java.text.SimpleDateFormat;
import java.util.*;public class ApplyServiceImpl implements ApplyService{private ApplyDao applyDao = new ApplyDaoImpl();@Overridepublic int addApply(Apply apply) {Calendar startDate = Calendar.getInstance();Calendar endDate = Calendar.getInstance();startDate.setTime(apply.getStarttime());endDate.setTime(apply.getEndtime());if (startDate.get(Calendar.MINUTE) < 30) {startDate.set(Calendar.MINUTE, 0);apply.setStarttime(startDate.getTime());} else {startDate.set(Calendar.MINUTE, 30);apply.setStarttime(startDate.getTime());}if (endDate.get(Calendar.MINUTE) > 0 && endDate.get(Calendar.MINUTE) < 30) {endDate.set(Calendar.MINUTE, 30);apply.setEndtime(endDate.getTime());} else {endDate.add(Calendar.HOUR_OF_DAY,1);endDate.set(Calendar.MINUTE, 0);apply.setEndtime(endDate.getTime());}return applyDao.addApply(apply);}/*@Overridepublic List<ApplyList> getApplyList() {List<ApplyList> lists = new ArrayList<>();ApplyList applyList = null;List<Apply> applys = applyDao.getApplys();MeetingService meetingService = new MeetingServiceImpl();RegformService regformService = new RegformServiceImpl();Regform regform = null;for (Apply apply : applys){applyList = new ApplyList();int num =  applyDao.getStatus(apply.getId());String status = null;String style = null;regform = regformService.getRegform(apply.getUid());switch (num){case -1 : {status = "未通过";style = "status-refuse";break;}case 0 : {status = "未审核";style = "status-notyet";break;}case 1 : {status = "已通过";style = "status-pass";break;}}String name = meetingService.getName(apply.getMid());applyList.setRegform(regform);applyList.setName(name);applyList.setApply(apply);applyList.setStatus(status);applyList.setStyle(style);lists.add(applyList);}return lists;}*//*@Overridepublic List<ApplyList> getApplyList() {List<ApplyList> lists = new ArrayList<>();List<Integer> ids = applyDao.getApplyId();for (int id : ids){ApplyList applyList = getApplyList(id);lists.add(applyList);}return lists;}*/@Overridepublic ListPage<ApplyList> getApplyList(int currentPage, int rows) {ListPage<ApplyList> listPage = new ListPage<>();int index = (currentPage-1)*rows;List<ApplyList> lists = new ArrayList<>();List<Integer> ids = applyDao.getApplys(index,rows);for (int id : ids){ApplyList applyList = getApplyList(id);lists.add(applyList);}int count = applyDao.getCount();listPage.setTotalCount(count);listPage.setTotalPage(getTotalPage(rows));listPage.setList(lists);listPage.setCurrentPage(currentPage);listPage.setRows(rows);return listPage;}@Overridepublic ApplyList getApplyList(int id) {ApplyList applyList = null;Apply apply = applyDao.getApply(id);MeetingService meetingService = new MeetingServiceImpl();RegformService regformService = new RegformServiceImpl();Regform regform = null;applyList = new ApplyList();int num =  applyDao.getStatus(apply.getId());String status = null;String style = null;regform = regformService.getRegform(apply.getUid());switch (num){case -1 : {status = "未通过";style = "status-refuse";break;}case 0 : {status = "未审核";style = "status-notyet";break;}case 1 : {status = "已通过";style = "status-pass";break;}}String name = meetingService.getName(apply.getMid());applyList.setRegform(regform);applyList.setName(name);applyList.setApply(apply);applyList.setStatus(status);applyList.setStyle(style);return applyList;}@Overridepublic int changeStatus(int id, int status) {return applyDao.changeStatus(id,status);}@Overridepublic boolean isExistTime(String start, String end, String mid) {int count = applyDao.isExistTime(start,end,mid);if (count > 0){return true;}else {return false;}}@Overridepublic Map<String, PageBean> getPageBean(int mid, DateTime datetime) {Map<String,PageBean> map = new HashMap<>();List<Apply> applys = applyDao.getApplys(mid,datetime);PageBean pageBean = null;for (Apply apply : applys){pageBean = new PageBean();pageBean.setTitle(apply.getTitle());Date starttime = apply.getStarttime();Date endtime = apply.getEndtime();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");SimpleDateFormat sdf3 = new SimpleDateFormat("HH");SimpleDateFormat sdf4 = new SimpleDateFormat("mm");pageBean.setTime(sdf2.format(starttime)+"-"+sdf2.format(endtime));int hour = Integer.parseInt(sdf3.format(endtime)) - Integer.parseInt(sdf3.format(starttime));int second = Integer.parseInt(sdf4.format(endtime)) > 0 ? 1 : 0;pageBean.setHeight(hour*2+second);int status = apply.getStatus();switch (status){case 1: pageBean.setStyle("status-pass");break;case 0: pageBean.setStyle("status-notyet");}map.put(sdf.format(starttime),pageBean);}return map;}@Overridepublic int getcount() {return applyDao.getCount();}@Overridepublic int getUid(int id) {return applyDao.getUid(id);}@Overridepublic String getMeetingName(int id) {MeetingService meetingService = new MeetingServiceImpl();int mid = applyDao.getMid(id);return meetingService.getName(mid);}@Overridepublic String getDateTime(int id) {Date start = applyDao.getStart(id);Date end = applyDao.getEnd(id);SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日HH时mm分到");SimpleDateFormat sdf2 = new SimpleDateFormat("HH时mm分");String strattime = sdf1.format(start);String endtime = sdf2.format(end);return strattime+endtime;}@Overridepublic int getTotalPage(int rows) {int count = applyDao.getCount();return count % rows == 0 ? count / rows : count / rows + 1;}
}

MeetingServiceImpl

package com.xk.meeting.service;import com.xk.meeting.dao.MeetingDao;
import com.xk.meeting.dao.MeetingDaoImpl;
import com.xk.meeting.entity.Meeting;import java.util.List;public class MeetingServiceImpl implements MeetingService{private MeetingDao meetingDao = new MeetingDaoImpl();@Overridepublic int addMeeting(Meeting meeting) {return meetingDao.addMeeting(meeting);}@Overridepublic List<Meeting> getMeetingList() {return meetingDao.getMeetingList();}@Overridepublic int deleteMeeting(int id) {return meetingDao.deleteMeeting(id);}@Overridepublic Meeting getMeetingById(int id) {return meetingDao.getMeetingById(id);}@Overridepublic int updateMeeting(Meeting meeting) {return meetingDao.updateMeeting(meeting);}@Overridepublic String getName(int mid) {return meetingDao.getNameById(mid);}@Overridepublic List<Meeting> getMeetingLists() {return meetingDao.getMeetingLists();}
}

RegformServiceImpl

package com.xk.meeting.service;import com.xk.meeting.dao.RegformDao;
import com.xk.meeting.dao.RegformDaoImpl;
import com.xk.meeting.entity.Regform;
import com.xk.meeting.entityutils.ApplyList;
import com.xk.meeting.entityutils.ListPage;
import com.xk.meeting.entityutils.RegformList;import java.util.ArrayList;
import java.util.List;public class RegformServiceImpl implements RegformService{private RegformDao regformDao = new RegformDaoImpl();@Overridepublic int addRegform(Regform regform) {return regformDao.addRegform(regform);}@Overridepublic boolean isExist(int id) {int count = regformDao.isExist(id);if (count > 0){return true;}else {return false;}}private List<RegformList> getRegformList(int index,int rows) {List<RegformList> lists = new ArrayList<>();RegformList regformList = null;List<Regform> regforms = regformDao.getRegforms(index,rows);UserService userService = new UserServiceImpl();for (Regform regform : regforms){regformList = new RegformList();int uid = regform.getUid();String username = userService.getNameById(uid);String status = userService.getStatus(uid);String style = userService.getStatusStyle(uid);regformList.setUid(uid);regformList.setName(username);regformList.setRegform(regform);regformList.setStatus(status);regformList.setStyle(style);lists.add(regformList);}return lists;}@Overridepublic Regform getRegform(int uid) {return regformDao.getRegform(uid);}@Overridepublic int getcount() {return regformDao.getCount();}@Overridepublic ListPage<RegformList> getApplyList(int currentPage, int rows) {ListPage<RegformList> listPage = new ListPage<>();int index = (currentPage-1)*rows;List<RegformList> regformList = getRegformList(index,rows);int count = regformDao.getCount();listPage.setTotalCount(count);listPage.setTotalPage(getTotalPage(rows));listPage.setList(regformList);listPage.setCurrentPage(currentPage);listPage.setRows(rows);return listPage;}@Overridepublic int getTotalPage(int rows) {int count = regformDao.getCount();return count % rows == 0 ? count / rows : count / rows + 1;}
}

如果也想学习本系统,下面领取。关注并回复:010jsp

Java项目:jsp+servlet网上会议室预约系统相关推荐

  1. Java基于JSP的网上手机销售系统

    手机作为一个通讯工具一直在不断的更新换代,由最初的大哥大,到小灵通,再到诺基亚的塞班系统,直到现在的苹果安卓等系统.手机的功能也越来越多,从最初的只能打电话到现在聊天,游戏和看视频等功能.人们的业余生 ...

  2. Java、JSP酒店网上订房系统

    技术:Java.JSP等 摘要: 作为一名大学生,我们在校园里学到了做人的道理.专业知识.开阔了自己的视野.学会与人交流,这些所学到的知识的最终用途就是实现自己的人生价值.造福社会.当今社会,网络的发 ...

  3. Java项目:springboot网上点餐系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 功能介绍 SpringBoot在线订餐系统项目.主要功能说明: 分为两个角色,餐厅老板.普通用户 ...

  4. 基于Java的电子作业提交系统_基于jsp的网上作业提交系统-JavaEE实现网上作业提交系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的网上作业提交系统, 该项目可用各类java课程设计大作业中, 网上作业提交系统的系统架构分为前后台两部分, 最终实 ...

  5. 计算机毕业设计Java高校会议室预约系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java高校会议室预约系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java高校会议室预约系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S ...

  6. java计算机毕业设计高校会议室预约系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计高校会议室预约系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计高校会议室预约系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  7. java高校会议室预约系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java高校会议室预约系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java高校会议室预约系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  8. java毕业设计——基于java+Eclipse+jsp的网上手机销售系统设计与实现(毕业论文+程序源码)——网上手机销售系统

    基于java+Eclipse+jsp的网上手机销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Eclipse+jsp的网上手机销售系统设计与实现,文章末尾附有本毕业设计的 ...

  9. 【附源码】Java计算机毕业设计网上宠物店预约系统(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  10. java毕业设计——基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码)——网上招聘系统

    基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+MyBatis+jsp的网上招聘系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

最新文章

  1. DNS SOA NS区别
  2. js判断是由含有a节点_怎么判断某个dom节点是否包含某个dom节点?
  3. 确保线程安全下使用Queue的Enqueue和Dequeue
  4. android接推流sdk,Android——直播推流SDK
  5. Python建立ip代理池(多线程)
  6. javaEE(3)_servlet基础
  7. linux忘记mysql密码
  8. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少?
  9. 安全知识竞赛答题小程序
  10. DAY02.使用JAVA从国家统计局爬取2020年全国统计用区划代码和城乡划分代码(省市区数据)
  11. nx零件库插件_ug标准件库下载
  12. mysql函数百分比_mysql window函数计算百分比
  13. 20162320刘先润 2016-2017-2《程序设计与数据结构》课程总结
  14. 如何计算十五个字节(多字节)的CRC16校验
  15. python显示gif图片_利用Python制作GIF图片
  16. AI读懂说话人情绪,语音情感识别数据等你Pick!
  17. vscode缩放代码_Visual Studio Code 缩放设置
  18. 轮播图图片大小不统一
  19. QString常用方法介绍
  20. 跟着开源项目学因果推断——FixedEffectModel 固定效应模型(十七)

热门文章

  1. 流年似水 启航2019
  2. 定时任务:数据表设计与实现方案
  3. java模拟器电脑版怎么安装教程_电脑Java模拟器安装使用教程
  4. 基于FPGA的Yolov4 tiny目标检测网络加速器
  5. OceanBase 安装-采用OCP安装
  6. [乡土民间故事_徐苟三传奇]第卅八回_徐苟三改字赢官司
  7. flink作业提交流程
  8. 第一次使用公有云需要注意啥
  9. 服务器运维大屏,可视化运维大屏
  10. sis最新ip地址2020入口一_2020最新国风修仙问道3DMMORPG手游大道争锋官网正版首发入口...