【206】基于Java的大学宿舍管理系统
选题背景及研究意义
随着信息化时代的到来,社会各大机构纷纷引入信息化管理,高校管理亦是 如此,随着办学规模的日益扩大,招生数量也大幅度增长,学生住宿规模也随着 扩大,学生公寓越来越多,需要更多的宿管人员来管理。伴随社会化改革的深入, 高校住宿条件有了很大改观,包括宿舍安排更加合理化、人性化,学生科自由选 择住宿环境,同时对公寓的管理也不断加强。
国内外发展状况
我国自1977年恢复高考以来,高等教育在社会上的地位就不断的提升。每年 的毕业生在寻找工作的时候,都出现供不应求的状态。政府也不断重视高等学校 的管理和教育,下拨了大量的经费用于建设校园管理系统⑷。在此之前,许多学校 已经建立了功能完善的教务管理系统,能够对学生的学籍信息和档案信息进行一 个有效的管理。在全日制的学校中,学生公寓管理工作是学校日常管理一个非常 重要的内容,但是在这方面却没有得到足够多的重视。就目前来看,许多高校仍 然基于人力的模式对学生宿舍信息进行管理。由专门的宿管人员来记录和保存学 生入住信息,这样该模式既不利于管理工作的开展,效率也十分低下。基于此, 笔者设计了一个全新的宿舍管理信息系统,因此来增强宿舍管理工作的效率&%
应用宿舍管理系统来取代当前的人力管理模式,既符合学校信息化建设的大 背景,也是解决实际管理需求的根本措施。随着高校规模的拓展,新生的数量每 年都在增加。对于学生公寓和学生入住信息的管理,成为了限制学校发展的难题。 据统计,每年学校用于学生宿舍管理的费用,超过一百万⑺。这其中还不包括公寓 设备维护等其他的费用。但是,从取得的成效来看,却没有达到理想的效果,公 寓内损坏的设施得不到及时的维修;公寓盗窃的现象时有发生;学生夜不归宿频 繁;宿舍矛盾得不到有效的调解;宿舍各种费用记录信息不准确等等。在各种矛 盾不断激化的当下,应当借助新的信息化系统来进行改善⑻。
2010年互联网安全报告显示,大部分都是的网络安全攻击,都是针对小型服 务器。这些服务器有许多的共同点:安装不合理、安全策略有漏洞、使用环境复 杂。在设计学生宿舍管理系统的时候,技术人员就充分考虑了系统的安全性问题〔0, 因为系统中记载了学生入住的详细信息,一旦这些资料被窃取,就会对学生的日 常生活造成严重的影响,也会对学校的管理工作造成不可恢复的破坏。因此,系 统需要设计一套完善合理的访问控制权限来限制不同用户操作系统的权限。
在开展研究之前,笔者想借鉴与之有关的一些内容,来使得系统的功能更加 完善和具体。而在知网上以该关键词作为检索内容,发现可以借鉴的资料非常的 稀缺。足以看出我们国家在学生宿舍管理系统方面的研究是多么缺乏。而该系统 又是实际管理工作的刚性需求。之所以会出现这种现象,笔者认为,首先是学校 管理层面对这项工作的不重视,才导致在这方面研究的缺乏。另外一个原因就是, 系统的功能复杂,开发难度高,许多学者仅凭个人的力量是无法有效实现所有功 能的,因此处于一种研究的消极情绪[⑷。总的来说,就目前的环境,要想实现这 样一个管理系统,需要解决三个问题:
学生宿舍管理系统是科技改善生活这一理念的具体体现,开发这样一个系统, 不仅需要精通计算机编程技术,而且要有一定的管理学知识作为基础。在全日制 的学校中,公寓作为学校的一个重要组成部分,对学生入住的管理,是学校日常 管理的一项重要工作,关系到教学等多项工作的正常开展。随着学校规模的扩增, 每年的学生数量都在增多,给宿舍管理工作增加了许多难度。就目前来看,对宿 舍的管理,依然采用人工的管理模式,许多的信息都依靠纸质文档来记录和保存, 效率十分低下。而学校层面也没有意识到宿舍管理工作的重要性,使得关于此系 统的研究十分地落后[⑸。
随着高等教育的普及,学生的人数还会不断的增多,如果不在当前环境下, 对管理模式进行改革。那么,随着学校规模的扩大,对于学生公寓的管理,只会 更加的难以开展,最终反过来抑制学校的发展。目前在学生宿舍管理方面探索出 来了的一些管理模式,在当前的管理工作中,暴露出许多弊端,更无法满足未来 管理工作的需求。而当前学校已经建立了可靠的校园网络系统,应当抓住时机, 充分利用当前资源,建立一个网络化的宿舍管理系统,向其中引进科学的管理方 法,提升管理工作的效率,这才是学校发展的基础。
一个体质合理、功能完善的宿舍管理系统的可靠运行需要提供一个安全的工 作环境。管理系统的安全涉及多各方面,首先是系统本身应当建立完善的安全策 略,从内部来保证系统的安全;其次是系统的工作环境和网络环境,保证数据在 其中传输的安全性[⑹。
研究内容
本课题根据学校“国示”学院建设标准,结合学院资源,坚持“7S”管理原 则,设计一个符合我校发展需求的学生宿舍管理信息系统。通过该系统搭建一个 满足学校各部门管理的需求的电子办公平台,从而提升我校现代化管理水平。
随着时代变迁,科学技术不断创新,高校发展也需要借助现代化数字化技术, 因此学生宿舍管理信息系统也成为了高校信息化建设的重点内容。宿舍管理是高 校管理工作的一项重要内容,关系到日常教学工作的开展。学校利用这个系统软 件进行管理,减轻了教职工的工作量,增强了学生自主管理的水平,实现管理的 快捷方便性,从而提高了学院的办事效率。目前,市面上流行的很多类似的管理 信息系统的设计存在诸多漏洞,切功能单一,无法满足学院的管理需求。其次是, 安全性存在很大的漏洞。因此,针对上述种种问题,本文结合学院的特点,利用 现有技术条件,设计开发了学生宿舍管理信息系统。在本次研发过程中,本人主 要担当项目负责人的任务,具体研发了 “宿舍管理模块”等多 项内容。
package com.dormitory.controller;
import com.dormitory.entity.Dormitory;
import com.dormitory.entity.Student;
import com.dormitory.entity.User;
import com.dormitory.service.DormitoryService;
import com.dormitory.service.StudentService;
import com.dormitory.service.UserService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private StudentService studentService;
/**
* 用户登录
*/
@RequestMapping("/login")
public String login(@Param("username") String username, @Param("password") String password, @Param("user_type") String user_type, HttpSession session, Model model){
if (user_type.equals("sys")){
//判断是超级管理员,超级管理员唯一最高权限,唯一账号
User login_user = userService.login(username,password);
if(login_user!=null){
session.setAttribute("login_user", login_user);
return "index";
}
}
else if(user_type.equals("sushe") && !username.equals("admin")){
//宿舍管理员
User login_user = userService.login(username,password);
if(login_user!=null){
session.setAttribute("login_user", login_user);
return "sushe";
}
}
else {
//判断是学生
Student login_student = studentService.loginstudent(username,password);
if (login_student!=null) {
session.setAttribute("login_student", login_student);
return "indexStudent";
}
}
model.addAttribute("message","您输入的账号或密码错误");
return "login";
}
/**
* 管理员登录,去首页
*/
@RequestMapping("goto_index")
public String goto_index(){
return "index";
}
/**
* 学生登录,去首页
*/
@RequestMapping("goto_indexStudent")
public String goto_indexStudent(){
return "indexStudent";
}
/**
* 退出系统
*/
@RequestMapping("/logout")
public String logout(HttpSession session,Model model){
session.removeAttribute("user_login");
session.removeAttribute("student_login");
model.addAttribute("message","您好,您已经成功退出");
return "login";
}
/**
* 管理员登录成功后去的欢迎页
*/
@RequestMapping("/goto_user_welcome")
public String goto_user_welcome(HttpSession session,Model model){
User login_user = (User) session.getAttribute("login_user");
model.addAttribute("username",login_user.getUsername());
return "user_welcome";
}
/**
* 学生登录成功后去的欢迎页
*/
@RequestMapping("/goto_student_welcome")
public String goto_student_welcome(HttpSession session,Model model){
Student login_student = (Student) session.getAttribute("login_student");
model.addAttribute("username",login_student.getSname());
return "student_welcome";
}
/**
* 去添加管理员页面
*/
@Autowired
private DormitoryService dormitoryService;
@RequestMapping("/goto_addUser")
public String goto_addUser(Model model){
List dormitoryList = dormitoryService.list();
model.addAttribute("dormitoryList",dormitoryList);
model.addAttribute("error","请填写完信息");
return "addUser";
}
/**
* 检查用户名是否重复
*/
@RequestMapping("/checkUsername")
@ResponseBody
public String checkUsername(String username){
//判断新添加的管理员用户名是否与原有的管理员用户名重复
User user = userService.checkUsername(username);
if (user != null){
return "exists";
}else {
return "not-exists";
}
}
/**
* 添加管理员
*/
@RequestMapping("/addUser")
public String addUser(User user,Model model){
try{
if(user.getDormitoryId()==null){
return "redirect:/user/goto_addUser";
}
Dormitory dormitory = dormitoryService.getById(user.getDormitoryId());
user.setDormitoryName(dormitory.getDormitoryName());
int rows = userService.addUser(user);
if (rows>0){
return "redirect:/user/findUser";
}else {
return "redirect:/user/goto_addUser";
}
}catch (Exception e){
e.printStackTrace();
}
return null;
}
/**
* 修改
*/
@RequestMapping("/editUser")
public String editUser(User user,Model model){
Dormitory dormitory = dormitoryService.getById(user.getDormitoryId());
user.setDormitoryName(dormitory.getDormitoryName());
userService.updateUser(user);
return "redirect:/user/findUser";
}
/**
* 去修改管理员信息页面
*/
@RequestMapping("/goto_updateUser")
public String goto_updateUser(HttpSession session,Model model){
List dormitoryList = dormitoryService.list();
model.addAttribute("dormitoryList",dormitoryList);
User login_user = (User) session.getAttribute("login_user");
model.addAttribute("username",login_user.getUsername());
return "updateUser";
}
/**
* 修改密码
*/
@RequestMapping("/updateUser")
public String updateUser(User user,Model model){
int rows = userService.updateUser(user);
if (rows>0){
model.addAttribute("success","修改管理员成功");
return "success";
}else {
System.out.println("修改管理员信息失败");
model.addAttribute("success","添加管理员失败");
return "success";
}
}
/**
* 查询所有
*/
@RequestMapping("/findUser")
public String findDormitory(@RequestParam(defaultValue = "1")Integer pageNum, Model model,HttpSession session){
try{
//获取指定页的大小,pageSize=5
PageHelper.startPage(pageNum,5);
List userList = userService.listUser();
User user = (User) session.getAttribute("login_user");
if(user!=null){
if(user.getDormitoryId()!=0){
List userList1 = new ArrayList<>();
for (User user1:userList) {
if(user1.getDormitoryId()==user.getDormitoryId()){
userList1.add(user1);
}
}
PageInfo pageInfo = new PageInfo(userList1);
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("userList",userList1);
return "listUser";
}
}
//使用PageInfo包装数据
//navigatePages:导航的页码数
PageInfo pageInfo = new PageInfo(userList);
model.addAttribute("pageInfo",pageInfo);
model.addAttribute("userList",userList);
}catch (Exception e){
e.printStackTrace();
}
return "listUser";
}
/**
* 删除
*/
@RequestMapping("/delUser")
public String delUser(Integer userId){
try{
userService.deleteUser(userId);
}catch (Exception e){
e.printStackTrace();
}
return "redirect:/user/findUser";
}
/**
* 返回到修改页面
*/
@RequestMapping("/findBySno")
public String findBySno(Integer userId,Model model){
List userList=userService.listUser();
User user =null;
for (User user1:userList) {
if(user1.getUser_id()==userId){
user = user1;
}
}
List dormitoryList = dormitoryService.list();
model.addAttribute("dormitoryList",dormitoryList);
model.addAttribute("user",user);
return "editUser";
}
@RequestMapping("/loginout")
public String loginout(){
return "login";
}
}