基于javaweb和mysql的ssm自习室图书馆座位预约占座管理系统前台后台(java+ssm+jsp+layui+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SSM自习室图书馆座位预约占座管理系统前台后台(java+ssm+jsp+layui+mysql)

管理员

admin 123456

学生

xs001 123456

xs002 123456

xs003 123456

xs004 123456

添加学生时会自动在用户表中注册

定时任务会定时生成座位信息,

阅览室分类中可设置信用等级,

学生被扣分后信用等级低于相应的值后不能预约相应的阅览室座位。

		}
		response.setContentType("application/json");
		WriterUtil.write(response, result.toString());
	}
	
	
	@RequestMapping("deleteUser")
	public void delUser(HttpServletRequest request,HttpServletResponse response){
		JSONObject result=new JSONObject();
		try {
			String[] ids=request.getParameter("ids").split(",");
			for (String id : ids) {
				user = userService.findOneUser(Integer.parseInt(id));
				userService.deleteUser(Integer.parseInt(id));
			}
			result.put("returnCode", 200);
			result.put("delNums", ids.length);
		} catch (Exception e) {
			e.printStackTrace();
			result.put("returnCode", "对不起,删除失败");
		}
		WriterUtil.write(response, result.toString());
	}
	
	@RequestMapping("updataPortrait")
	public void updataPortrait(HttpServletRequest request,HttpServletResponse response,@RequestParam MultipartFile file,User user){
		JSONObject jsonObj = new JSONObject();//new一个JSON
		String userId = request.getParameter("userId");
		HttpSession session = request.getSession();
		try {
			if (StringUtil.isNotEmpty(userId)) {
				user.setUserId(Integer.parseInt(userId));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		String now = System.currentTimeMillis()+"";
		if (!file.isEmpty()) {
			String filePath = "D:\\Tomcat 7.0\\webapps\\temp\\" + now + ".jpg";
			try {
				file.transferTo(new File(filePath));
				user.setHeadPortrait("/LibrarySeatSystem/files/" + now + ".jpg");
				userService.updateUser(user);
				
				//更新session里的用户信息
				User usertemp=(User)session.getAttribute("currentUser");
				usertemp.setHeadPortrait("/LibrarySeatSystem/files/" + now + ".jpg");
/*

// 教师信息

@Controller
@RequestMapping("teacher")
public class TeacherController {
	
	private int page;
	private int rows;
	private Teacher teacher;
	@Autowired
	private TeacherService<Teacher> teacherService;
	private User user;
	@Autowired
	private UserService<User> userService;
	
	@RequestMapping("teacherIndex")
	public String index(){
		return "info/teacher";
	}
	
	
	@RequestMapping("teacherList")
	public void teacherList(HttpServletRequest request,HttpServletResponse response){
		try {
			page = Integer.parseInt(request.getParameter("page"));   //获取当前页
			rows = Integer.parseInt(request.getParameter("limit"));   //每页记录条数
			
			// 构造查询条件
			teacher = new Teacher();
			teacher.setPage((page-1)*rows);
			teacher.setRows(rows);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	
	
	
	@RequestMapping("reserveMassage")
	public void reserveMassage(HttpServletRequest request,HttpServletResponse response,Massage massage) {
		String id = request.getParameter("id");
		JSONObject result = new JSONObject();
		try {
			if(StringUtil.isNotEmpty(id)){
				massage.setId(Integer.parseInt(id));
				massageService.updateMassage(massage);
				result.put("returnCode", 200);
			} else {
				massage.setDate(new Date());
				massageService.addMassage(massage);
				//返回状态码
				result.put("returnCode", 300);
			}
		} catch (Exception e) {
			e.printStackTrace();
			result.put("returnCode", "对不起!保存失败");
		}
		WriterUtil.write(response,result.toString());
	}
	
	@RequestMapping("deleteMassage")
	public void delete(HttpServletRequest request,HttpServletResponse response){
		JSONObject result=new JSONObject();
		try {
			String[] ids=request.getParameter("ids").split(",");
			for (int i=0;i<ids.length;i++) {
				massageService.deleteMassage(Integer.parseInt(ids[i]));
			}
			result.put("returnCode", 200);
			result.put("delNums", ids.length);
		} catch (Exception e) {
			e.printStackTrace();
			result.put("returnCode", "对不起,删除失败");
		}

/**
 * 用户管理
 */

@Controller
@RequestMapping("user")
public class UserController extends LogController{

	private int page;
	private int rows;
	private User user;
	@Autowired
	private UserService<User> userService;
	@Autowired
	private StudentService<Student> studentStudentService;
	
	
	
	@RequestMapping("userIndex")
	public String index(){
		return "sys/user";
	}
	
	
	@RequestMapping("userList")
	public void userList(HttpServletRequest request,HttpServletResponse response){
		try {
			page = Integer.parseInt(request.getParameter("page"));
			rows = Integer.parseInt(request.getParameter("limit"));
			user = new User();
			user.setPage((page-1)*rows);
			user.setRows(rows);
			user.setUserName(request.getParameter("userName"));
			String roleId = request.getParameter("roleId");
			if (StringUtil.isNotEmpty(roleId)) {
				user.setRoleId(Integer.parseInt(roleId));
			} else {
				user.setRoleId(null);
			}
			List<User> list = userService.findUser(user);
			int total = userService.countUser(user);
			JSONObject jsonObj = new JSONObject();//new一个JSON
			jsonObj.put("code", 0);
			jsonObj.put("msg", "");
			jsonObj.put("count",total );//total代表一共有多少数据
			jsonObj.put("data", list);//row是代表显示的页的数据
			response.setContentType("application/json");
	        WriterUtil.write(response,jsonObj.toString());
	 * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(,分割)* 如果还不存在则调用Request .getRemoteAddr()* 
	 * @param request
	 * @return
	 */
	public static String getIpAddr(HttpServletRequest request) throws Exception{
		String ip = request.getHeader("X-Real-IP");
		if (!StringUtil.isEmpty(ip) && !"unknown".equalsIgnoreCase(ip)) {
			return ip;
		}
		ip = request.getHeader("X-Forwarded-For");
		if (!StringUtil.isEmpty(ip) && !"unknown".equalsIgnoreCase(ip)) {
			// 多次反向代理后会有多个IP值,第一个为真实IP。
			int index = ip.indexOf(',');
			if (index != -1) {
				return ip.substring(0, index);
			} else {
				return ip;
			}
		} else {
			return request.getRemoteAddr();
		}
	}
	
    
    
    
    
	
}


/**
 * 登录
 */
@Controller
@SuppressWarnings("unchecked")
public class LoginController {

	private User user;
	private User currentUser;
	@Autowired
	private UserService<User> userService;
	@Autowired
	private MenuService<Menu> menuService;
	private Role role;
	@Autowired
	private RoleService<Role> roleService;
	private Map map;
	
	//登录验证
	@RequestMapping("login")
	public void login(HttpServletRequest request,HttpServletResponse response){
		try {
			HttpSession session = request.getSession();
			String userName=request.getParameter("userName");
			String password=request.getParameter("password");
			request.setAttribute("userName", userName);
			request.setAttribute("password", password);
			map = new HashMap<String, String>();
			map.put("userName", userName);
			map.put("password", password);
			currentUser = userService.loginUser(map);
						student = studentService.findOneStudentByno(friendStudentno);
						friendStudent.add(student);
					}
				}
				JSONArray array = new JSONArray();
				array.addAll(friendStudent);
				WriterUtil.write(response, array.toString());
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	// 获取与今天相隔day天的日期,其中date表示某天,如今天。day正数表示之后,如1表示1天之后即明天。-1表示1天之前即昨天
	public static Date getNextDay(Date date,int day) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.DAY_OF_MONTH, day);
		date = calendar.getTime();
		return date;
	}
	
	
	
	
}

// 两个定时器

		ip = request.getHeader("X-Forwarded-For");
		if (!StringUtil.isEmpty(ip) && !"unknown".equalsIgnoreCase(ip)) {
			// 多次反向代理后会有多个IP值,第一个为真实IP。
			int index = ip.indexOf(',');
			if (index != -1) {
				return ip.substring(0, index);
			} else {
				return ip;
			}
		} else {
			return request.getRemoteAddr();
		}
	}
	
    
    
    
    
	
}

/**
			jsonObject.put("children", getOperationJsonArray(menuId,operationIds));
			jsonArray.add(jsonObject);
		}
		return jsonArray;
	}
	
	
	public JSONArray getOperationJsonArray(int menuId,String operationIds){
		JSONArray jsonArray=new JSONArray();
		try {
			operation = new Operation();
			operation.setMenuId(menuId);
			List<Operation> list = operationService.findOperation(operation);
			for(Operation operation : list){
				JSONObject jsonObject = new JSONObject();
				int operationId = operation.getOperationId();
				jsonObject.put("id", operationId);
				jsonObject.put("text", operation.getOperationName());
				jsonObject.put("iconCls", "");
				jsonObject.put("state", "open");
				if (StringUtil.isNotEmpty(operationIds)) {
					if (dingzhen.util.StringUtil.existStrArr(operationId+"", operationIds.split(","))) {
						jsonObject.put("checked", true);
					} 	
				}
				jsonArray.add(jsonObject);
			}
			return jsonArray;
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	
	
	
	
	@RequestMapping("updateRoleMenu")
	public void updateRoleMenu(HttpServletRequest request,HttpServletResponse response){
		JSONObject result = new JSONObject();
		try {
			String roleId = request.getParameter("roleId");
			String[] ids = request.getParameter("menuIds").split(",");
			String menuIds = "";
			String operationIds = "";
			}
		}
		WriterUtil.write(response, result.toString());
	}
	
	@RequestMapping("deleteIllegal")
	public void delete(HttpServletRequest request,HttpServletResponse response){
		JSONObject result=new JSONObject();
		try {
			String[] ids=request.getParameter("ids").split(",");
			for (String id : ids) {
				this.illegal=illegalService.findOneIllegal(Integer.parseInt(id));
				String studentno = this.illegal.getStudentno();     //获得学号
				score = scoreService.findOneScore(studentno);  //获取socre对象
				int total = score.getTotal();                  //获得原始积分
				int thisScore = this.illegal.getScore();             //本次扣除积分
				// 更新分数
				score.setTotal(total + thisScore);
				scoreService.updateScore(score);
				illegalService.deleteIllegal(Integer.parseInt(id));
			}
			result.put("returnCode", 200);
			result.put("delNums", ids.length);
		} catch (Exception e) {
			e.printStackTrace();
			result.put("returnCode", "对不起,删除失败");
		}
		WriterUtil.write(response, result.toString());
	}
	
	
	
	
}

// 具体的帖子内容

						String friendStudentno = friendChoice.getStudentno();  //得到学号
						student = studentService.findOneStudentByno(friendStudentno); //通过学号查询学生
						friendStudent.add(student);
					}
				} else {
					// 不超过10条全部取出来
					for(int i=0;i<friendList.size();i++){
						Choice friendChoice = friendList.get(i);
						String friendStudentno = friendChoice.getStudentno();
						student = studentService.findOneStudentByno(friendStudentno);
						friendStudent.add(student);
					}
				}
				JSONArray array = new JSONArray();
				array.addAll(friendStudent);
				WriterUtil.write(response, array.toString());
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	// 获取与今天相隔day天的日期,其中date表示某天,如今天。day正数表示之后,如1表示1天之后即明天。-1表示1天之前即昨天
	public static Date getNextDay(Date date,int day) {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(Calendar.DAY_OF_MONTH, day);
		date = calendar.getTime();
		return date;
	}
	
	
	
	
}

// 两个定时器

	@RequestMapping("updataPortrait")
	public void updataPortrait(HttpServletRequest request,HttpServletResponse response,@RequestParam MultipartFile file,User user){
		JSONObject jsonObj = new JSONObject();//new一个JSON
		String userId = request.getParameter("userId");
		HttpSession session = request.getSession();
		try {
			if (StringUtil.isNotEmpty(userId)) {
				user.setUserId(Integer.parseInt(userId));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		String now = System.currentTimeMillis()+"";
		if (!file.isEmpty()) {
			String filePath = "D:\\Tomcat 7.0\\webapps\\temp\\" + now + ".jpg";
			try {
				file.transferTo(new File(filePath));
				user.setHeadPortrait("/LibrarySeatSystem/files/" + now + ".jpg");
				userService.updateUser(user);
				
				//更新session里的用户信息
				User usertemp=(User)session.getAttribute("currentUser");
				usertemp.setHeadPortrait("/LibrarySeatSystem/files/" + now + ".jpg");
				session.setAttribute("currentUser", usertemp);
				
				jsonObj.put("code", 0);
				jsonObj.put("msg", "");
				jsonObj.put("src","/LibrarySeatSystem/files/" + now + ".jpg" );
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		WriterUtil.write(response, jsonObj.toString());
	}

	@RequestMapping("updateUser")
	@ResponseBody
	public JSONObject updateUser(HttpServletRequest request,HttpServletResponse response){
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String phone = request.getParameter("phone");
		String email = request.getParameter("email");
		JSONObject result=new JSONObject();
		try {

/**
 * 用户管理
 */

@Controller
@RequestMapping("user")
public class UserController extends LogController{

	private int page;
	private int rows;
	private User user;
	@Autowired
	private UserService<User> userService;
	@Autowired
	private StudentService<Student> studentStudentService;
	
	
	
	@RequestMapping("userIndex")
	public String index(){
		return "sys/user";
	}
	
	
	@RequestMapping("userList")
	public void userList(HttpServletRequest request,HttpServletResponse response){
		try {
			page = Integer.parseInt(request.getParameter("page"));
			rows = Integer.parseInt(request.getParameter("limit"));
			user = new User();
			user.setPage((page-1)*rows);
			user.setRows(rows);
			user.setUserName(request.getParameter("userName"));
			String roleId = request.getParameter("roleId");
			if (StringUtil.isNotEmpty(roleId)) {
				user.setRoleId(Integer.parseInt(roleId));
			} else {
				user.setRoleId(null);
			}
			List<User> list = userService.findUser(user);
			int total = userService.countUser(user);
			JSONObject jsonObj = new JSONObject();//new一个JSON
			jsonObj.put("code", 0);
			jsonObj.put("msg", "");
			jsonObj.put("count",total );//total代表一共有多少数据
			jsonObj.put("data", list);//row是代表显示的页的数据
			response.setContentType("application/json");
	        WriterUtil.write(response,jsonObj.toString());
		} catch (Exception e) {
	@RequestMapping("myselfSeat")
	public void myselfSeat(HttpServletRequest request,HttpServletResponse response){
		User currentUser = (User)request.getSession().getAttribute("currentUser");
		try {
			String date = request.getParameter("date");
			if(date==null || date.length()==0){
				date = (new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
			}
			String roomid = request.getParameter("roomid");
			if(roomid==null || roomid.length()==0){
				roomid = "1";
			} 
			String time = request.getParameter("time");
			if(time == null || time.length()==0){
				time = "08点-12点";
			}
			Choice c = new Choice();
			c.setSeatkeyword(date + "-" +time + "-" +roomid);
			c.setStudentno(currentUser.getUserName());
			choice = choiceService.findOneChoice(c);
			if(choice == null){
				WriterUtil.write(response, "no");
			} else {
				WriterUtil.write(response, choice.getSeatkeyword());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}	
	
	//查找我的座位
	@RequestMapping("mySeat")
	public void mySeat(HttpServletRequest request,HttpServletResponse response){
		User currentUser = (User)request.getSession().getAttribute("currentUser");
		page = Integer.parseInt(request.getParameter("page"));
		rows = Integer.parseInt(request.getParameter("limit"));
		seat = new Seat();
		seat.setPage((page-1)*rows);
		seat.setRows(rows);
		JSONObject jsonObject = new JSONObject();
		try {
			seat.setStudentno(currentUser.getUserName());
			List<Seat> list = seatService.findSeat(seat);
			jsonObject.put("code", 0);
			jsonObject.put("msg", "");
			//jsonObject.put("count",10 );//total代表一共有多少数据
			jsonObject.put("data", list);//row是代表显示的页的数据
		} catch (Exception e) {
			e.printStackTrace();
		}

@Controller
@RequestMapping("bbs")
public class BbsController {

	private int page;
	private int rows;
	@Autowired
	private BbsService<Bbs> bbsService;
	private Bbs bbs;
	@Autowired
	private TopicService<Topic> topicService;
	private Topic topic;
	
	@RequestMapping("bbsIndex")
	public String index(HttpServletRequest request) {
		User currentUser = (User)request.getSession().getAttribute("currentUser");
		if(currentUser.getRoleId()==1){
			return "bbs/bbsIndexForAdmin";
		} else {
			return "bbs/bbsIndex";
		}
	
	
}

/**
 * 日志管理控制器
 */
@Controller
@RequestMapping("log")
public class LogController {
	
	private Log log;
	private int page = 1;
	private int rows = 10;
	@Autowired
	private LogService<Log> logService;
	
	@RequestMapping("logIndex")
	public String index(){
		return "sys/log";
	}
			JSONObject jsonObj = new JSONObject();//new一个JSON
			jsonObj.put("code", 0);
			jsonObj.put("msg", "");
			jsonObj.put("count",total );//total代表一共有多少数据
			jsonObj.put("data", list);//row是代表显示的页的数据
	        WriterUtil.write(response,jsonObj.toString()); //将上述Json输出,前台ajax接收
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	@RequestMapping("classesSelect")
	public void classesSelect(HttpServletRequest request ,HttpServletResponse response) {
		try {
			classes = new Classes();
			String instituteId = request.getParameter("instituteId");
			if (StringUtil.isNotEmpty(instituteId)) {
				classes.setInstituteId(Integer.parseInt(instituteId));
			} else {
				classes.setInstituteId(null);
			}
			
			String specialtyId = request.getParameter("specialtyId");
			if (StringUtil.isNotEmpty(specialtyId)) {
				classes.setSpecialtyId(Integer.parseInt(specialtyId));
			} else {
				classes.setSpecialtyId(null);
			}
			
			List<Classes> classlist = classesService.findClasses(classes);
			
			JSONObject jsonObj = new JSONObject();//new一个JSON
			jsonObj.put("classlist", classlist);//row是代表显示的页的数据
	        WriterUtil.write(response,jsonObj.toString()); //将上述Json输出,前台ajax接收
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	@RequestMapping("reserveClasses")
	public void reserveClasses(HttpServletRequest request,HttpServletResponse response,Classes classes) {
		JSONObject result = new JSONObject();
		try {
			classesService.addClasses(classes);
			result.put("returnCode", 200);
		} catch (Exception e) {
			e.printStackTrace();

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐