作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
一款由jsp+ssm+mysql实现的图书馆预约占座管理系统,前端采用的是当下最流行的easyui框架,后台用的ssm(spring、springMVC、mybaits)框架.添加学生和教师时会自动在用户表中注册,定时任务会定时生成座位信息,阅览室分类中可设置信用等级,学生被扣分后信用等级低于相应的值后不能预约相应的阅览室座位.本项目分为管理员、教师、学生三种角色。
管理员角色包含以下功能:
管理员登陆,用户管理,师生信息管理,阅览室管理,信用积分管理,交流管理,信息统计,图书推荐等功能。
教师角色包含以下功能:
教师角色登陆,个人信息管理,管理学生的信用积分等功能。
学生角色包含以下功能:
学生账号登陆,阅览室信息查看,信息积分查看,选座位,选座管理,通知信息管理,信息交流,图书推荐等功能。
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+SpringMVC+Mybatis
2. 前端:JSP+easyUI
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中config.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录
package dingzhen.controller;
// 查看余坐
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import dingzhen.entity.Room;
import dingzhen.entity.Seat;
import dingzhen.service.RoomService;
import dingzhen.service.SeatService;
import dingzhen.util.WriterUtil;
@Controller
@RequestMapping("block")
public class BlockController {
@Autowired
private RoomService roomService;
private Seat seat;
@Autowired
private SeatService seatService;
@RequestMapping("blockList")
public void list(HttpServletResponse response,HttpServletRequest request) {
try {
String[] times = new String[]{"08点-12点","14点-18点","18点-22点"};
Date today = new Date();
Date tomorrow = getNextDay(today, 1);
Date[] dates = new Date[]{today,tomorrow};
List rooms = roomService.findRoom(new Room());
List list = new ArrayList();
for(int j=0;j
package dingzhen.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import dingzhen.util.StringUtil;
import dingzhen.util.WriterUtil;
import dingzhen.entity.Menu;
import dingzhen.entity.Role;
import dingzhen.entity.User;
import dingzhen.service.MenuService;
import dingzhen.service.RoleService;
import dingzhen.service.UserService;
/**
* 登录
*/
@Controller
@SuppressWarnings("unchecked")
public class LoginController {
private User user;
private User currentUser;
@Autowired
private UserService userService;
@Autowired
private MenuService
package dingzhen.controller;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import dingzhen.entity.Room;
import dingzhen.entity.Seat;
import dingzhen.service.RoomService;
import dingzhen.service.SeatService;
import dingzhen.util.StringUtil;
import dingzhen.util.WriterUtil;
// 阅览室基本信息
@RequestMapping("room")
@Controller
public class RoomController {
private int page;
private int rows;
private Room room;
@Autowired
private RoomService roomService;
@Autowired
private SeatService seatService;
@RequestMapping("roomIndex")
public String index(){
return "readingroom/room";
}
@RequestMapping("roomList")
public void roomList(HttpServletRequest request,HttpServletResponse response) {
try {
page = Integer.parseInt(request.getParameter("page"));
rows = Integer.parseInt(request.getParameter("rows"));
room = new Room();
if(request.getParameter("typeid")!=null && request.getParameter("typeid").length() > 0){
room.setTypeid(Integer.parseInt(request.getParameter("typeid")));
}
room.setPage((page-1)*rows);
room.setRows(rows);
List list = roomService.findRoom(room);
int total = roomService.countRoom(room);
JSONObject jsonObj = new JSONObject();//new一个JSON
jsonObj.put("total",total );//total代表一共有多少数据
jsonObj.put("rows", list);//row是代表显示的页的数据
WriterUtil.write(response,jsonObj.toString()); //将上述Json输出,前台ajax接收
} catch (Exception e) {
e.printStackTrace();
}
}
@RequestMapping("reserveRoom")
public void reserveroom(HttpServletRequest request,HttpServletResponse response,Room room) {
String id = request.getParameter("id");
room.setTotal(room.getCol() * room.getRow()); //总座位数=列数 X 行数
JSONObject result = new JSONObject();
result.put("success", true);
try {
if(StringUtil.isNotEmpty(id)){
room.setId(Integer.parseInt(id));
roomService.updateRoom(room);
} else {
roomService.addRoom(room);
/**int row=room.getRow();
int cal=room.getCol();
for(int rown=1; rown<=row; rown++) {
for(int caln=1;caln<=cal;caln++) {
Seat seat = new Seat();
seat.setCol(caln);
seat.setRow(rown);
seat.setDate(id);
seat.setStudentno("1");
seatService.occupySeat(seat);
}
}**/
int row=room.getRow();
int cal=room.getCol();
for(int rown=1; rown<=row; rown++) {
for(int caln=1;caln<=cal;caln++) {
try {
Seat seat = new Seat();
seat.setCol(caln);
seat.setRow(rown);
seat.setDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
int roomid=roomService.getFinal();
seat.setRoomid(roomid);
seat.setTime("08点-12点");
seat.setKeyword(new SimpleDateFormat("yyyy-MM-dd").format(new Date())+"-08点-12点-"+roomid+"-"+rown+"-"+caln);
//2021-05-14-08点-12点-24-9-9
seatService.insertSeat(seat);
} catch (Exception e) {
e.printStackTrace();
}
}}
}
} catch (Exception e) {
e.printStackTrace();
result.put("errorMsg", "对不起!保存失败");
}
WriterUtil.write(response,result.toString());
}
@RequestMapping("deleteRoom")
public void delete(HttpServletRequest request,HttpServletResponse response){
JSONObject result=new JSONObject();
try {
String[] ids=request.getParameter("ids").split(",");
for (String id : ids) {
roomService.deleteRoom(Integer.parseInt(id));
}
result.put("success", true);
result.put("delNums", ids.length);
} catch (Exception e) {
e.printStackTrace();
result.put("errorMsg", "对不起,删除失败");
}
WriterUtil.write(response, result.toString());
}
}
如果也想学习本系统,下面领取。关注并回复:171ssm