基于SSM的宿舍管理系统设计与实现

摘  要

当前许多高校的宿舍管理是采用纸质化人工登记的方式,这种方式明显跟不上现在社会发展的速度。当今社会,互联网技术高速发展,越来越多高校开始采用计算机管理系统的方式来管理宿舍。宿舍管理是每个高校必不可少的工作,采用计算机的方式来管理宿舍的相关信息,可以极大程度地提高宿舍管理的效率,能更全面的掌握学生及宿舍的相关信息。

本论文为了解决当前宿舍管理方式不够方便快捷的问题,以宿舍管理为研究对象,基于Spring、SpringMVC、Mybatis框架整合成SSM框架作为后瑞开发框架,设计并实现一款宿舍管理系统,可以方便宿舍管理人员管理宿舍。本系统基于B/S结构,采用MySQL数据库来保存宿舍管理员的信息以及宿舍和学生的信息,Tomcat为该系统的服务器,再选择Eclipse作为开发环境,令本系统具有安全性,易维护性的特点。该系统分为普通管理员与超级管理员,均可完成对宿舍的管理;该系统包含管理员、班级、学生、宿舍、卫生这几个模块;实现了每个模块的修改删除查询和添加的功能,并且班级、学生、宿舍这三个模块还能进行关联查询;每个模块均可把数据导出到Excel

【关键词】宿舍管理系统java、SSM,jsp编程技术,B/S结构,mysql数据库

Abstract

Currently, many colleges and universities use paper-based manual registration for dormitory management, which obviously cannot keep up with the speed of social development. In today's society, with the rapid development of Internet technology, more and more universities are beginning to use computer management systems to manage dormitories. Dormitory management is an essential work for every university. Using computers to manage dormitory related information can greatly improve the efficiency of dormitory management and provide a more comprehensive understanding of students and dormitory related information.

In order to solve the problem that the current dormitory management methods are not convenient and efficient, this paper takes dormitory management as the research object, integrates the SSM framework based on Spring, Spring MVC, and Mybatis frameworks as the post-development framework, designs and implements a dormitory management system, which can facilitate dormitory management personnel to manage the dormitory. The system is based on a B/S structure, using a MySQL database to store dormitory administrator information and dormitory and student information. Tomcat is the server of the system, and Eclipse is chosen as the development environment, making the system safe and easy to maintain. The system is divided into ordinary administrators and super administrators, which can complete the management of dormitories; The system includes several modules such as administrator, class, student, dormitory, and sanitation; The function of modifying, deleting, querying, and adding each module is implemented, and the three modules of class, student, and dormitory can also perform associated queries; Each module can export data to Excel

[Key words] Dormitory management system Java, SSM, jsp programming technology, B/S structure, MySQL database.

目  录

摘  要

Abstract

第1章 绪论

1.1 课题的目的及意义

1.1.1 课题的目的

1.2 研究现状

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.2 系统需求

2.2.1 用户需求

2.2.3 系统功能分析

2.2.4 功能描述

2.3 开发工具介绍

2.3.1 J2SE平台

2.3.2 IDEA简介

2.3.3 SSM简介

2.3.4 jsp嵌入式脚本

2.3.5 数据库选型

2.4 本章小结

第3章 总体设计

3.1 系统功能模块设计

3.2 数据库设计

3.2.1 设计依据

3.2.2 数据库的概念结构设计

3.2.3 数据库的逻辑结构设计

3.3 本章小结

第4章 详细设计

4.1 用户各功能模块

4.1.2学生管理模块的实现

4.1.3班级信息管理模块

4.1.4宿舍管理模块的实现

4.3 本章小结

第5章 系统测试

5.1 系统测试的基本原则

5.2 软件测试方法

5.3 系统测试用例

5.4 本章小结

结  论

致  谢

参考文献

附 录 1

附 录 2

附 录 3

第1章 绪论

1.1 课题的目的及意义

1.1.1 课题的目的

当前许多高校的宿舍管理是采用纸质化人工登记的方式,这种方式明显跟不上现在社会发展的速度。当今社会,互联网技术高速发展,越来越多高校开始采用计算机管理系统的方式来管理宿舍。宿舍管理是每个高校必不可少的工作,采用计算机的方式来管理宿舍的相关信息,可以极大程度地提高宿舍管理的效率,能更全面的掌握学生及宿舍的相关信息山。

21世纪是互联网技术发展的时代,如今社会的一切和互联网息息相关。计算机的优点在于工作效率高,安全性高,这也是作为宿舍管理系统所必须的。

学生在学校待的最多最久的地方是宿舍,所以宿舍有许多信息是需要宿管人员管理的。目前,还有不少高校对宿舍的管理没有采用计算机的方式。有的学校对宿舍的管理还停留在人工手动纸质化登记的方式,稍不留神,就容易登记出错,数据过多时,无法完成快速查找。

  基于这些问题,我们认为有必要建立一个机票宿舍管理系统,使宿舍的管理,宿管工作更加系统规范,信息的处理速度和准确性更高,方便及时的管理宿舍、方便宿舍的信息统计,管理人员、方便管理人员查询宿舍信息等,能够有效提升宿舍的管理水平。1.1.2 课题的意义

宿舍管理的方式由人工手动纸质化登记缺乏效率。为了方便宿舍管理人员提高对宿舍管理的效率,能够又快又准的查询和修改学生及宿舍的相关信息,设计了基于SSM实现的宿舍管理系统,让宿舍管理员提高管理的效率。

以下为本系统的主要特点:

(1)安全性:在注册管理员时,管理员密码在后端进行处理采用了MD5加密技术。

在管理员登录时同样采用了MD5加密技术,所以可以保证学生信息及宿舍信息的安全。

(2)高效性现在是信息时代,在互联网技术的迅速发展背景下,宿舍管理系统需注重管理的便捷性,集合各类功能及相关学生信息、宿舍信息即可帮助宿舍管理员快速完成宿舍管理的日常工作,而不必采用人工和纸化的管理方式,提高效率和节约资源。

1.2 研究现状

二十一世纪的今天,信息技术的日益发展已深入到社会的各个角落,学生宿舍管理也不例外,尤其作为高等院校的宿舍管理工作,是高校各项工作的一个重要组成部分,其管理水平的高低将直接影响到人才培养的质量。随着高等教育的发展、高校规模的扩大、学生人数增加、学生宿舍各种信息的汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎。因此宿舍管理的信息化、网络化越来越受到人们的重视,它既可以大大提高学生宿舍管理的绩效,也可以为学生解决后顾之忧。

近年来国内出现了很多与宿舍相关的管理系统,有些学校开始建立并使用管理信息系统管理学生宿舍,但是或多或少都有不足之处。为解决上述问题,计划设计一个可以解决这些问题,降低工作量的宿舍信息管理系统,并可以通过该现象管理系统,实现联

机的实时管理,减少工作的盲目性,提高工作人员的专业素质。

1.本课题主要研究内容

实现本次宿舍管理系统过程中主要采用Spring、Spring MVC、MyBatis框架,MySQL数据库技术,前台采用html,css,js等技术。首先对项目进行需求分析,通过查阅资料或其他方式来了解与机票管理相关的过程,了解这个有助于我更好的进行需求分析。接下来分别从可行性分析、性能分析、功能分析这几个方面对系统进行了完善的系统分析。系统分析完毕后就是对各个本系统的各个功能模块进行详细的设计并完成代码编写,最后进行代码简化以及对系统进行系统测试,分别从两个方面对系统进行测试,一个是单元测试,一个是集成测试。本项目的论文的内容大概由以下几个部分组成:(1)绪论:主要对宿舍管理系统的开发目的和意义,国内外发展现状进行了阐述。(2)系统所用的技术:对本次系统设计的时候所用到的一些主流技术进行简要的讲解,以及对比其他相似技术来说,运用这些技术的好处。(3)需求分析:先对项目进行可行性分析,从多个方面分析系统是可以被开发的;在对系统进行功能分析,分析应该需要拥有的功能以及可以待开发的功能。(4)系统总体设计:系统设计就是对刚刚进行的功能分析后所设计的功能,用代码进行实现。然后在展示出系统数据库里面表的数据以及一些功能结构图。(5)系统的实现:分别介绍系统所能实现的所有功能,其目的以及如何操作,并且加以配图展现的更加详细,清晰。(6)系统测试:先进行单元测试,待单元测试完善完毕后进行集成测试,来判断系统的功能以及各接口处是否能达到预期的功能效果。

第2章 系统分析

2.1 可行性分析

开发一个系统,在时间上和能源上经常存在或多或少的限定。为了节省能源,避免人力资源,财力资源以及物力资源的浪费,在完成一个系统的开发之前,需进行必要的可行性分析。本系统的可行性分析主要从以下四个方面进行阐述。

2.1.1 技术可行性

本系统各功能界面简单明了,操作简便。在部分界面中,信息是自动生成的,不需要手动输入。本系统的使用者不需要掌握专业知识,只要了解系统功能并且能熟练使用简单的windows操作,就可以使用本系统。因此,本系统具有操作可行性

本网站主要采用了java开发语言,编程语言包括HTML+CSS、jsp、JavaScript,SSM开发的工具为idea.。目前jsp已经用得很广泛,是最流行的网站脚本语言之一,有着简单,轻巧,开源免费且功能强大的优势。并且mysql是一种完全开源免费的数据库工具,也在很多开源项目的实践应用中展现出了不亚于大型商业化数据库的性能,因此mysql可以满足本次设计中对于数据库应用的需求。综上从技术可行性上来讲,使用这些技术完全可以实现这个网站的开发。

以下是部分代码实现

package com.demo.controller;


import com.demo.po.Admin;
import com.demo.po.PageInfo;
import com.demo.service.AdminService;
import com.demo.util.MD5Util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;

/**
 * 用户控制器类
 */
@Controller
public class AdminController {
	// 依赖注入
	@Autowired
	private AdminService adminService;
	/**
	 * 用户登录
	 */
	/**
	 * 将提交数据(username,password)写入Admin对象
	 */
	@RequestMapping(value = "/login")
	public String login( Admin admin, Model model, HttpSession session, HttpServletRequest request) {
		// 通过账号和密码查询用户

		admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
		Admin ad = adminService.findAdmin(admin);
		if(ad!=null){
			session.setAttribute("ad", ad);
			return "homepage";
		}
		model.addAttribute("msg", "用户名或密码错误,请重新登录!");
		return "login";
	}

	/**
	 * 退出登录
	 */
	@RequestMapping(value = "/loginOut")
	public String loginOut(Admin admin, Model model, HttpSession session) {
		session.invalidate();
		return "login";

	}

	/**
	 * 分页查询
	 */
	@RequestMapping(value = "/findAdmin")
	public String findAdmin(String a_username, String a_describe,Integer pageIndex,
							Integer a_id ,Integer pageSize, Model model) {

		PageInfo<Admin> ai = adminService.findPageInfo(a_username,a_describe,
								a_id,pageIndex,pageSize);
		model.addAttribute("ai",ai);
		return "admin_list";
	}

	/**
	 * 导出Excel
	 */
	@RequestMapping(value = "/exportadminlist" , method = RequestMethod.POST)
    @ResponseBody
	public List<Admin> exportAdmin(){
		List<Admin> admin = adminService.getAll();
		return admin;
	}

	/**
	 * 添加管理员信息
	 */
	@RequestMapping(value = "/addAdmin" ,method = RequestMethod.POST)
	@ResponseBody
	public String addAdmin( @RequestBody Admin admin) {

		admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
		int a = adminService.addAdmin(admin);
		return "admin_list";
	}

	/**
	 * 删除管理员信息;将请求体a_id写入参数a_id
	 */
	@RequestMapping( "/deleteAdmin")
	@ResponseBody
	public String deleteAdmin(Integer a_id) {
		int a = adminService.deleteAdmin(a_id);
		return "admin_list";
	}

	/**
	 * 修改管理员信息
	 */
	/**
	 * 将提交数据(a_id,a_username...)写入Admin对象
	 */
	@RequestMapping( value = "/updateAdmin", method = RequestMethod.POST)
	public String updateAdmin(Admin admin) {

		admin.setA_password(MD5Util.MD5EncodeUtf8(admin.getA_password()));
		int a = adminService.updateAdmin(admin);
		return "redirect:/findAdmin";
	}


	/**
	 * 根据管理员Id搜索;将请求数据a_id写入参数a_id
	 */
	@RequestMapping( "/findAdminById")
	public String findAdminById( Integer a_id,HttpSession session) {
		Admin a= adminService.findAdminById(a_id);
		session.setAttribute("a",a);
		return "admin_edit";
	}

}
@RequestMapping("/aircraft")
public class AircraftController /*extends BaseController*/ {

  @Resource
  private AircraftService aircraftService;

  @Resource
  private FlightService flightService;

  private List<Flight> flightList;

  // 定义转换日期类型的输出格式
  private String format = "yyyy-MM-dd";
  private boolean flag = false;
//  private Aircraft aircraft;

  @RequestMapping("/adminAircraftPage")
  public String aircraftList() {
    return "admin/aircraftManage";
  }

  @InitBinder
  public void initBinder(WebDataBinder binder) {
    binder.registerCustomEditor(Date.class, new DateUtil());
  }
package com.demo.controller;


import com.demo.po.Class;
import com.demo.po.PageInfo;
import com.demo.service.ClassService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpSession;
import java.util.List;

/**
 * 用户控制器类
 */
@Controller
public class ClassController {
	// 依赖注入
	@Autowired
	private ClassService classService;

	/**
	 * 分页查询
	 * pageIndex 当前页码
	 * pageSize  显示条数
	 */
	@RequestMapping(value = "/findClass")
	public String findClass(Integer c_classid, String c_classname, String c_counsellor,
							Integer pageIndex, Integer pageSize, Model model) {

	  PageInfo<Class> ci = classService.findPageInfo(c_classname,c_counsellor,
			  c_classid,pageIndex,pageSize);
	  model.addAttribute("ci",ci);
	  model.addAttribute("c_classid",c_classid);
		return "class_list";
	}

	/**
	 * 导出Excel
	 */
	@RequestMapping(value = "/exportclasslist", method = RequestMethod.POST)
	@ResponseBody
	public List<Class> exportClass(){
		List<Class> classList = classService.getAll();
		return classList;
	}

	/**
	 * 删除学生信息
	 */
	@RequestMapping( "/deleteClass")
	@ResponseBody
	public String deleteClass(Integer c_id) {
		int c = classService.deleteClass(c_id);
		return "class_list";
	}

	/**
	 * 添加班级信息
	 */
	@RequestMapping(value = "/addClass" ,method = RequestMethod.POST)
	@ResponseBody
	public String addClass( @RequestBody Class uclass) {
		int c = classService.addClass(uclass);
		return "class_list";
	}

	@RequestMapping( "/findClassById")
	public String findClassById( Integer c_id,HttpSession session) {
		Class c= classService.findClassById(c_id);
		session.setAttribute("c",c);
		return "class_edit";
	}

	/**
	 * 修改班级信息
	 */
	@RequestMapping(value = "/updateClass" ,method = RequestMethod.POST)

	public String updateClass( Class uclass) {
		int c = classService.updateClass(uclass);
		return "redirect:/findClass";
	}

	/**
	 * 班级人员信息查询
	 */
	@RequestMapping(value = "/findClassStudent")
	public String findClassStudent(Class uclass,Model model) {
		List<Class> c = classService.findClassStudent(uclass);
		model.addAttribute("cs",c);
		return "class_Studentlist";
	}

	//采用Ajax来提交表单,并返回JSON数据
//	@RequestMapping(value = "/findClassStudentlist",method = RequestMethod.POST)
//	@ResponseBody
//	public List<Class> findClassStudentlist(@RequestBody Class uclass){
//		List<Class> c = classService.findClassStudent(uclass);
//		return c;
//	}
}

以下是部分功能图

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值