作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本系统为基于jsp+ssh+mysql的会议室管理系统,包含普通用户和管理员,系统功能如下:
普通用户:会议室管理、会议管理、用户管理、个人资料。
管理员用户:会议室管理、会议管理、用户管理、部门管理、设备管理、个人资料。
服务器端采用ssh框架,界面整洁完美,适合作为毕业设计、课程设计、数据库大作业。
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
环境需要
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.数据库:MySql 5.7版本;
6.是否Maven项目:否;
技术栈
1. 后端:Spring+Structs+Hibernate
2. 前端:JSP+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中WEB-INF/applicationContext.xml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
管理员用户 xiaoniucr/123456
普通用户 quanmin/123456
运行截图
相关代码
BoardroomAction
package com.meet.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.meet.entity.Boardroom;
import com.meet.entity.Meet;
import com.meet.service.IBoardroomService;
import com.meet.util.MeetPageBean;
import com.meet.util.RoomPageBean;
import com.opensymphony.xwork2.ActionSupport;
/**
* 会议室控制层
*
* @author
*/
public class BoardroomAction extends ActionSupport implements SessionAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private Boardroom room;
private IBoardroomService roomService;
private Map<String, Object> sessionMap;
private int page = 1; //表示从网页中返回的当前页的值 默认为1 表示默认显示第一页内容
private RoomPageBean roompageBean; //封装了分页信息和数据内容的pageBean
private List<Boardroom> listRoom;//用于储存pageBean当中被封装的User信息
/**
* 添加
*
* @return
* @throws Exception
*/
public String addRoom() throws Exception {
if (room.getBoardroomid() == null) {
roomService.addBoardroom(room);
} else {
updateRoom();
}
return "addRoom";
}
/**
* 修改
*
* @return
* @throws Exception
*/
public String updateRoom() throws Exception {
roomService.updateBoardroom(room);
return "updateRoom";
}
/**
* 删除
*
* @return
* @throws Exception
*/
public String deleteRoom() throws Exception {
roomService.deleteBoardroom(room.getBoardroomid());
return "deleteRoom";
}
/**
* 查找所有
*
* @return
* @throws Exception
*/
public String findAllBoardroom() throws Exception {
//List<Boardroom> roomList=roomService.findAllBoardroom();
//sessionMap.put("roomList", roomList);
this.roompageBean = roomService.queryForPage(5, page);//获取封装了分页信息和数据的pageBean
List<Boardroom> roomList = this.roompageBean.getList(); //获取数据
sessionMap.put("roomList", roomList);
sessionMap.put("roompageBean", roompageBean);
return "findAllBoardroom";
}
/**
* 条件查询
*
* @return
* @throws Exception
*/
public String findByTJ() throws Exception {
this.roompageBean = roomService.findByTJ(5, page, null == room ? null : room.getBoardroomtype());
this.listRoom = this.roompageBean.getList();
sessionMap.put("roompageBean", roompageBean);
sessionMap.put("roomList", listRoom);
return "findByTJ";
}
/**
* 查找空闲的
*
* @return
* @throws Exception
*/
public String findkxBoardroom() throws Exception {
List<Boardroom> roomkx = roomService.findkxBoardroom();
sessionMap.put("roomkx", roomkx);
return "findkxBoardroom";
}
/**
* 通过id查找
*
* @return
* @throws Exception
*/
public String findByIdRoom() throws Exception {
this.room = roomService.findByIdBoardroom(room.getBoardroomid());
return "findByIdRoom";
}
public Boardroom getRoom() {
return room;
}
public void setRoom(Boardroom room) {
this.room = room;
}
public void setRoomService(IBoardroomService roomService) {
this.roomService = roomService;
}
@Override
public void setSession(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public RoomPageBean getRoompageBean() {
return roompageBean;
}
public void setRoompageBean(RoomPageBean roompageBean) {
this.roompageBean = roompageBean;
}
public List<Boardroom> getListRoom() {
return listRoom;
}
public void setListRoom(List<Boardroom> listRoom) {
this.listRoom = listRoom;
}
}
EquipmentAction
package com.meet.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.meet.entity.Equipment;
import com.meet.service.IEquipmentService;
import com.opensymphony.xwork2.ActionSupport;
/**
* 设备控制层
*
* @author
*/
public class EquipmentAction extends ActionSupport implements SessionAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private Map<String, Object> sessionMap;
private Equipment equipment;
private IEquipmentService equipmentService;
/**
* 添加
*
* @return
* @throws Exception
*/
public String addEquipment() throws Exception {
if (equipment.getEquipmentid() == null) {
equipmentService.addEquipment(equipment);
} else {
updateEquipment();
}
return "addEquipment";
}
/**
* 修改
*
* @return
* @throws Exception
*/
public String updateEquipment() throws Exception {
equipmentService.updateEquipment(equipment);
return "updateEquipment";
}
/**
* 删除
*
* @return
* @throws Exception
*/
public String deleteEquipment() throws Exception {
equipmentService.deleteEquipment(equipment.getEquipmentid());
return "deleteEquipment";
}
/**
* 查找所有
*
* @return
* @throws Exception
*/
public String findAllEquipment() throws Exception {
List<Equipment> equipmentList = equipmentService.findAllEquipment();
sessionMap.put("equipmentList", equipmentList);
return "findAllEquipment";
}
/**
* 通过id查找
*
* @return
* @throws Exception
*/
public String findByIdEquipment() throws Exception {
this.equipment = equipmentService.findByIdEquipment(equipment.getEquipmentid());
return "findByIdEquipment";
}
public Equipment getEquipment() {
return equipment;
}
public void setEquipment(Equipment equipment) {
this.equipment = equipment;
}
public void setEquipmentService(IEquipmentService equipmentService) {
this.equipmentService = equipmentService;
}
@Override
public void setSession(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
}
GroupAction
package com.meet.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.meet.entity.Group;
import com.meet.service.IGroupService;
import com.opensymphony.xwork2.ActionSupport;
/**
* 部门控制层
*
* @author
*/
public class GroupAction extends ActionSupport implements SessionAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private Group group;
private IGroupService groupService;
private Map<String, Object> sessionMap;
/**
* 添加
*
* @return
* @throws Exception
*/
public String addGroup() throws Exception {
if (group.getGroupid() == null) {
groupService.addGroup(group);
} else {
updateGroup();
}
return "addGroup";
}
/**
* 更新
*
* @return
* @throws Exception
*/
public String updateGroup() throws Exception {
groupService.updateGroup(group);
return "updateGroup";
}
/**
* 查找所有
*
* @return
* @throws Exception
*/
public String findListGroup() throws Exception {
List<Group> groupList = groupService.findAllGroup();
sessionMap.put("groupList", groupList);
return "findListGroup";
}
/**
* 通过id查找
*
* @return
* @throws Exception
*/
public String findByIdGroup() throws Exception {
this.group = groupService.findByIdGroup(group.getGroupid());
return "findByIdGroup";
}
/**
* 删除
*
* @return
* @throws Exception
*/
public String deleteGroup() throws Exception {
groupService.deleteGroup(group.getGroupid());
return "deleteGroup";
}
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
public void setGroupService(IGroupService groupService) {
this.groupService = groupService;
}
@Override
public void setSession(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
}
MeetAction
package com.meet.action;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.meet.entity.Meet;
import com.meet.service.IMeetService;
import com.meet.util.MeetPageBean;
import com.opensymphony.xwork2.ActionSupport;
/**
* 会议管理控制层
*
* @author
*/
public class MeetAction extends ActionSupport implements SessionAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private IMeetService meetService;
private Meet meet;
private Map<String, Object> sessionMap;
private int page = 1; //表示从网页中返回的当前页的值 默认为1 表示默认显示第一页内容
private MeetPageBean meetpageBean; //封装了分页信息和数据内容的pageBean
private List<Meet> listMeet;//用于储存pageBean当中被封装的User信息
/**
* 添加
*
* @return
* @throws Exception
*/
public String addMeet() throws Exception {
meetService.addMeet(meet);
return "addMeet";
}
/**
* 删除
*
* @return
* @throws Exception
*/
public String deleteMeet() throws Exception {
meetService.deleteMeet(meet.getMeetid());
return "deleteMeet";
}
/**
* 更新
*
* @return
* @throws Exception
*/
public String updateMeet() throws Exception {
meetService.updateMeet(meet);
return "updateMeet";
}
/**
* 通过id查找
*
* @return
* @throws Exception
*/
public String findByIdMeet() throws Exception {
this.meet = meetService.findByIdMeet(meet.getMeetid());
return "findByIdMeet";
}
/**
* 查找所有
*
* @return
* @throws Exception
*/
public String findAllMeet() throws Exception {
//List<Meet> meetList=meetService.findAllMeet();
//sessionMap.put("meetList", meetList);
this.meetpageBean = meetService.queryForPage(5, page);//获取封装了分页信息和数据的pageBean
List<Meet> meetList = this.meetpageBean.getList(); //获取数据
sessionMap.put("meetList", meetList);
sessionMap.put("meetpageBean", meetpageBean);
return "findAllMeet";
}
/**
* 条件查询
*
* @return
* @throws Exception
*/
public String findByTJ() throws Exception {
this.meetpageBean = meetService.findByTJ(5, page, null == meet ? null : meet.getMeetname());
this.listMeet = this.meetpageBean.getList();
sessionMap.put("meetpageBean", meetpageBean);
sessionMap.put("meetList", listMeet);
return "findByTJ";
}
public void setMeetService(IMeetService meetService) {
this.meetService = meetService;
}
public Meet getMeet() {
return meet;
}
public void setMeet(Meet meet) {
this.meet = meet;
}
@Override
public void setSession(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public MeetPageBean getMeetpageBean() {
return meetpageBean;
}
public void setMeetpageBean(MeetPageBean meetpageBean) {
this.meetpageBean = meetpageBean;
}
public List<Meet> getListMeet() {
return listMeet;
}
public void setListMeet(List<Meet> listMeet) {
this.listMeet = listMeet;
}
}
UserAction
package com.meet.action;
import java.io.File;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.meet.entity.User;
import com.meet.service.IUserService;
import com.meet.util.UserPageBean;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* 用户控制层
*
* @author
*/
public class UserAction extends ActionSupport implements SessionAware, RequestAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private User user;
private User _curUser;
private IUserService userService;
private Map<String, Object> sessionMap;
private Map<String, Object> request;
private int page = 1; //表示从网页中返回的当前页的值 默认为1 表示默认显示第一页内容
private UserPageBean pageBean; //封装了分页信息和数据内容的pageBean
private List<User> listUser;//用于储存pageBean当中被封装的User信息
/**
* 添加
*
* @return
* @throws Exception
*/
public String addUser() throws Exception {
//User u=new User(user.getUsername(), DigestUtils.md5Hex(user.getPassword()), DigestUtils.md5Hex(user.getRepwd()), user.getAge(), user.getSex(), user.getPhone(), user.getEmail(), user.getRole());
userService.addUser(user);
return "addUser";
}
/**
* 查找所有
*
* @return
* @throws Exception
*/
public String findAllUser() throws Exception {
if (userService.findRoleByuserName(_curUser.getUsername()) == true) {
//List<User> userList=userService.findAllUser();
this.pageBean = userService.queryForPage(5, page);//获取封装了分页信息和数据的pageBean
List<User> userList = this.pageBean.getList(); //获取数据
sessionMap.put("userList", userList);
sessionMap.put("pageBean", pageBean);
} else {
List<User> userList = userService.findByUserName(_curUser.getUsername());
sessionMap.put("userList", userList);
}
return "findAllUser";
}
/**
* 条件查询
*
* @return
* @throws Exception
*/
public String findByTJ() throws Exception {
this.pageBean = userService.findByTJ(5, page, null == user ? null : user.getUsername());
this.listUser = this.pageBean.getList();
sessionMap.put("pageBean", pageBean);
sessionMap.put("userList", listUser);
return "findByTJ";
}
/**
* 数据的数据导入到Excel表
*
* @return
* @throws Exception
*/
public void dbToExcel() {
try {
String fileName = "用户列表";
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "iso8859-1") + ".xls");
response.setContentType("application/ynd.ms-excel;charset=UTF-8");
OutputStream os = response.getOutputStream();
WritableWorkbook wwb = null;
//以fileName为文件名来创建一个Workbook
wwb = Workbook.createWorkbook(os);
// 创建工作表
WritableSheet ws = wwb.createSheet("Test Shee 1", 0);
//查询数据库中所有的数据
List<User> list = userService.findAllUser();
//要插入到的Excel表格的行号,默认从0开始
Label labelOid = new Label(0, 0, "编号");//表示第
Label labelUsername = new Label(1, 0, "用户名");
Label labelAge = new Label(2, 0, "年龄");
Label labelSex = new Label(3, 0, "性别");
Label labelPhone = new Label(4, 0, "手机号码");
Label labelEmail = new Label(5, 0, "邮箱");
Label labelRole = new Label(6, 0, "角色");
Label labelGroupname = new Label(7, 0, "组名");
ws.addCell(labelOid);
ws.addCell(labelUsername);
ws.addCell(labelAge);
ws.addCell(labelSex);
ws.addCell(labelPhone);
ws.addCell(labelEmail);
ws.addCell(labelRole);
ws.addCell(labelGroupname);
for (int i = 0; i < list.size(); i++) {
Label labelOid_i = new Label(0, i + 1, list.get(i).getOid() + "");
Label labelUsername_i = new Label(1, i + 1, list.get(i).getUsername());
Label labelAge_i = new Label(2, i + 1, list.get(i).getAge());
Label labelSex_i = new Label(3, i + 1, list.get(i).getSex());
Label labelPhone_i = new Label(4, i + 1, list.get(i).getPhone());
Label labelEmail_i = new Label(5, i + 1, list.get(i).getEmail());
Label labelRole_i = new Label(6, i + 1, list.get(i).getRole());
Label labelGroupname_i = new Label(7, i + 1, list.get(i).getGroup().getGroupname());
ws.addCell(labelOid_i);
ws.addCell(labelUsername_i);
ws.addCell(labelAge_i);
ws.addCell(labelSex_i);
ws.addCell(labelPhone_i);
ws.addCell(labelEmail_i);
ws.addCell(labelRole_i);
ws.addCell(labelGroupname_i);
}
//写进文档
wwb.write();
// 关闭Excel工作簿对象
wwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 更新
*
* @return
* @throws Exception
*/
public String updateUser() throws Exception {
userService.updateUser(user);
return "updateUser";
}
/**
* 删除
*
* @return
* @throws Exception
*/
public String deleteUser() throws Exception {
userService.deleteUser(user.getOid());
return "deleteUser";
}
/**
* 通过id查找
*
* @return
* @throws Exception
*/
public String findByIdUser() throws Exception {
this.user = userService.findByIdUser(user.getOid());
return "findByIdUser";
}
/**
* 登录验证
*
* @return
* @throws Exception
*/
public String loginUser() throws Exception {
ActionContext ac = ActionContext.getContext();
Map<String, Object> session = ac.getSession();
//_curUser = userService.login(_curUser.getUsername(), DigestUtils.md5Hex(_curUser.getPassword()));
_curUser = userService.login(_curUser.getUsername(), _curUser.getPassword());
if (_curUser == null) {
String errMsg = "用户名密码不存在!";
sessionMap.put("errMsg", errMsg);
return "login";
} else {
session.put("username", _curUser.getUsername());
session.put("userid", _curUser.getOid());
session.put("isAdmin", _curUser.isAdmin());
System.out.println("_curUser:=============" + _curUser);
return "main";
}
}
/**
* 退出登录
*
* @return
* @throws Exception
*/
public String logout() throws Exception {
Map<String, Object> map = ActionContext.getContext().getSession();
map.clear();
return "login";
}
public void setUserService(IUserService userService) {
this.userService = userService;
}
@Override
public void setSession(Map<String, Object> sessionMap) {
this.sessionMap = sessionMap;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public User get_curUser() {
return _curUser;
}
public void set_curUser(User _curUser) {
this._curUser = _curUser;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public UserPageBean getPageBean() {
return pageBean;
}
public void setPageBean(UserPageBean pageBean) {
this.pageBean = pageBean;
}
public List<User> getListUser() {
return listUser;
}
public void setListUser(List<User> listUser) {
this.listUser = listUser;
}
@Override
public void setRequest(Map<String, Object> arg0) {
this.request = arg0;
}
}
如果也想学习本系统,下面领取。关注并回复:015ssh