基于SSM大学生宿舍管理系统的设计与实现
摘要
随着大学校园信息化建设的日益提升,校园内的信息化管理系统的应用实现了全面覆盖,校园内的教务及学生管理工作逐渐从传统的人工统计转变为了线上管理,学生的信息、生活及学习管理都可以利用线上平台来实现。然而当前很多高校在信息化建设过程中更加关注于日常教务信息的管理和统计,高校对于宿舍管理重视度不高,然而宿舍生活与大学生的在校学习息息相关,宿舍管理过程中需要大量的学生信息,同时还包含了宿舍分配管理、宿舍卫生管理以及宿舍维修管理等多个内容,对于学生规模较大的高校而言传统的宿舍管理方式显然已经无法适用于当前宿舍管理的需求,因此需要在学生信息管理的基础上新增宿舍管理系统来进一步提升宿舍信息管理及传递的效率。
此次对于大学生宿舍管理系统设计主要通过分析当前大学生宿舍管理过程中的应用需求,结合宿舍管理的对象、内容以及流程进行系统主要功能模块及流程结构的设计,在功能呈现上主要包括了宿舍分配、水电费管理、晚归管理、维修管理以及宿舍卫生管理等功能,通过学生用户、宿舍管理员以及系统管理员用户的信息添加和管理来实现宿舍日常信息的有效传递。系统开发设计主要借助SSM框架结构以及JSP技术来实现WEB端页面数据信息的动态呈现,同时结合Mysql数据库的应用进一步提升了系统数据之间的逻辑关系,通过宿舍管理系统的开发设计进一步提升了宿舍信息统计及传递的效率。
关键词:SSM框架;JSP技术;Mysql 数据库;宿舍分配;宿舍维修添加
系统实现界面展示
首页
用户登录界面
学生用户后台界面
宿管员后台界面
学生信息管理界面
可行性分析
此次大学生宿舍管理系统的技术可行性的内容分析主要结合了系统需求、开发环境以及开发人员技术水平等方面的内分析,首先大学生宿舍管理系统作为相对基础的信息管理系统,当前的开发技术可以满足平台搭建以及系统性能的需求,同时此次大学生宿舍管理系统平台主要基于WEB端来实现开发,此次系统开发技术包括了SSM框架结构以及JSP技术,以上开发技术均是相对成熟且功能性强的开发工具,结合大学生宿舍管理系统的主要功能需求,通过面向对象的开发技术以及MYSQL数据库的应用可以实现快速高效的系统开发。另SSM框架结构作为一款三层框架结构可以实现分层的开发设计,进一步确保了此次大学生宿舍管理系统的开发效率以及开发灵活性。
经济可行性的内容分析主要针对大学生宿舍管理系统所产生的经济效益进行评估,通过系统开发费用及运营费用对比系统预估效益的比率来分析判断系统经济层面的可开发性。首先结合大学生宿舍管理系统的开发需求及应用场景,此次系统平台开发设计属于一款小型的在线系统平台,且应用的开发工具均是免费开源的同时具备了易维护的特性,因此系统开发及后期的维护费用都会处在较低的水平。其次利用大学生宿舍管理系统可以节约大量的人力物力,相比传统的人工统计及信息发布模式,借助线上系统平台大大降低了工作量也增强了信息传递的效率,结合系统的开发成本以及系统的经济效益,大学生宿舍管理系统从经济层面上分析是完全可行的。
大学生宿舍管理系统操作可行性的内容分析主要针对系统运行及操作便捷性进行分析,首先大学生宿舍管理系统界面友好且功能呈现简洁,系统的主要用户群体包括了大学生用户及宿管人员,以上用户群体都具备了较强的计算机运用能力。在操作过程中只需要简单的基础计算机知识就可以实现系统的运用,同时在信息的查询及运用的便捷度上远远高于传统的人工管理模式,因此从操作层面来看具备了较高的操作可行性。
package com.controller;
import java.io.File;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.entity.Wanguijilu;
import com.server.WanguijiluServer;
import com.util.PageBean;
import net.sf.json.JSONObject;
import com.util.db;
import java.sql.SQLException;
import java.sql.*;
@Controller
public class WanguijiluController {
@Resource
private WanguijiluServer wanguijiluService;
@RequestMapping("addWanguijilu.do")
public String addWanguijilu(HttpServletRequest request,Wanguijilu wanguijilu,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
wanguijilu.setAddtime(time.toString().substring(0, 19));
wanguijiluService.add(wanguijilu);
db dbo = new db();
//kuabiaogaizhi
return "redirect:"+request.getHeader("Referer")+"&ok=1";
}
@RequestMapping("addWanguijiluqt.do")
public String addWanguijiluqt(HttpServletRequest request,Wanguijilu wanguijilu,HttpSession session) throws SQLException{
Timestamp time=new Timestamp(System.currentTimeMillis());
wanguijilu.setAddtime(time.toString().substring(0, 19));
wanguijiluService.add(wanguijilu);
db dbo = new db();
//kuabiaogaizhi
session.setAttribute("backxx", "添加成功");
session.setAttribute("backurl", request.getHeader("Referer"));
return "redirect:postback.jsp";
}
// 处理编辑
@RequestMapping("doUpdateWanguijilu.do")
public String doUpdateWanguijilu(int id,ModelMap map,Wanguijilu wanguijilu){
wanguijilu=wanguijiluService.getById(id);
map.put("wanguijilu", wanguijilu);
return "wanguijilu_updt";
}
// 后台详细
@RequestMapping("wanguijiluDetail.do")
public String wanguijiluDetail(int id,ModelMap map,Wanguijilu wanguijilu){
wanguijilu=wanguijiluService.getById(id);
map.put("wanguijilu", wanguijilu);
return "wanguijilu_detail";
}
// 前台详细
@RequestMapping("wgjlDetail.do")
public String wgjlDetail(int id,ModelMap map,Wanguijilu wanguijilu){
wanguijilu=wanguijiluService.getById(id);
map.put("wanguijilu", wanguijilu);
return "wanguijiludetail";
}
//
@RequestMapping("updateWanguijilu.do")
public String updateWanguijilu(int id,ModelMap map,Wanguijilu wanguijilu,HttpServletRequest request,HttpSession session){
wanguijiluService.update(wanguijilu);
return "redirect:"+request.getHeader("Referer")+"&ok=1";
}
// 分页查询
@RequestMapping("wanguijiluList.do")
public String wanguijiluList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Wanguijilu wanguijilu, String riqi1,String riqi2, String wanguishijian1,String wanguishijian2, String xuehao, String xingming, String sushelou, String sushehao){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(riqi1==null||riqi1.equals("")){pmap.put("riqi1", null);}else{pmap.put("riqi1", riqi1);}
if(riqi2==null||riqi2.equals("")){pmap.put("riqi2", null);}else{pmap.put("riqi2", riqi2);}
if(wanguishijian1==null||wanguishijian1.equals("")){pmap.put("wanguishijian1", null);}else{pmap.put("wanguishijian1", wanguishijian1);}
if(wanguishijian2==null||wanguishijian2.equals("")){pmap.put("wanguishijian2", null);}else{pmap.put("wanguishijian2", wanguishijian2);}
if(xuehao==null||xuehao.equals("")){pmap.put("xuehao", null);}else{pmap.put("xuehao", xuehao);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(sushelou==null||sushelou.equals("")){pmap.put("sushelou", null);}else{pmap.put("sushelou", sushelou);}
if(sushehao==null||sushehao.equals("")){pmap.put("sushehao", null);}else{pmap.put("sushehao", sushehao);}
int total=wanguijiluService.getCount(pmap);
pageBean.setTotal(total);
List<Wanguijilu> list=wanguijiluService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "wanguijilu_list";
}
@RequestMapping("wanguijiluList2.do")
public String wanguijiluList2(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Wanguijilu wanguijilu, String riqi1,String riqi2, String wanguishijian1,String wanguishijian2, String xuehao, String xingming, String sushelou, String sushehao,HttpServletRequest request){
/*if(session.getAttribute("user")==null){
return "login";
}*/
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 15);
pmap.put("sushelou", (String)request.getSession().getAttribute("username"));
if(riqi1==null||riqi1.equals("")){pmap.put("riqi1", null);}else{pmap.put("riqi1", riqi1);}
if(riqi2==null||riqi2.equals("")){pmap.put("riqi2", null);}else{pmap.put("riqi2", riqi2);}
if(wanguishijian1==null||wanguishijian1.equals("")){pmap.put("wanguishijian1", null);}else{pmap.put("wanguishijian1", wanguishijian1);}
if(wanguishijian2==null||wanguishijian2.equals("")){pmap.put("wanguishijian2", null);}else{pmap.put("wanguishijian2", wanguishijian2);}
if(xuehao==null||xuehao.equals("")){pmap.put("xuehao", null);}else{pmap.put("xuehao", xuehao);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(sushehao==null||sushehao.equals("")){pmap.put("sushehao", null);}else{pmap.put("sushehao", sushehao);}
int total=wanguijiluService.getCount(pmap);
pageBean.setTotal(total);
List<Wanguijilu> list=wanguijiluService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "wanguijilu_list2";
}
@RequestMapping("wgjlList.do")
public String wgjlList(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Wanguijilu wanguijilu, String riqi1,String riqi2, String wanguishijian1,String wanguishijian2, String xuehao, String xingming, String sushelou, String sushehao){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(riqi1==null||riqi1.equals("")){pmap.put("riqi1", null);}else{pmap.put("riqi1", riqi1);}
if(riqi2==null||riqi2.equals("")){pmap.put("riqi2", null);}else{pmap.put("riqi2", riqi2);}
if(wanguishijian1==null||wanguishijian1.equals("")){pmap.put("wanguishijian1", null);}else{pmap.put("wanguishijian1", wanguishijian1);}
if(wanguishijian2==null||wanguishijian2.equals("")){pmap.put("wanguishijian2", null);}else{pmap.put("wanguishijian2", wanguishijian2);}
if(xuehao==null||xuehao.equals("")){pmap.put("xuehao", null);}else{pmap.put("xuehao", xuehao);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(sushelou==null||sushelou.equals("")){pmap.put("sushelou", null);}else{pmap.put("sushelou", sushelou);}
if(sushehao==null||sushehao.equals("")){pmap.put("sushehao", null);}else{pmap.put("sushehao", sushehao);}
int total=wanguijiluService.getCount(pmap);
pageBean.setTotal(total);
List<Wanguijilu> list=wanguijiluService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "wanguijilulist";
}
@RequestMapping("wgjlListtp.do")
public String wgjlListtp(@RequestParam(value="page",required=false)String page,
ModelMap map,HttpSession session,Wanguijilu wanguijilu, String riqi1,String riqi2, String wanguishijian1,String wanguishijian2, String xuehao, String xingming, String sushelou, String sushehao){
if(page==null||page.equals("")){
page="1";
}
PageBean pageBean=new PageBean(Integer.parseInt(page), 8);
Map<String, Object> pmap=new HashMap<String,Object>();
pmap.put("pageno", pageBean.getStart());
pmap.put("pageSize", 8);
if(riqi1==null||riqi1.equals("")){pmap.put("riqi1", null);}else{pmap.put("riqi1", riqi1);}
if(riqi2==null||riqi2.equals("")){pmap.put("riqi2", null);}else{pmap.put("riqi2", riqi2);}
if(wanguishijian1==null||wanguishijian1.equals("")){pmap.put("wanguishijian1", null);}else{pmap.put("wanguishijian1", wanguishijian1);}
if(wanguishijian2==null||wanguishijian2.equals("")){pmap.put("wanguishijian2", null);}else{pmap.put("wanguishijian2", wanguishijian2);}
if(xuehao==null||xuehao.equals("")){pmap.put("xuehao", null);}else{pmap.put("xuehao", xuehao);}
if(xingming==null||xingming.equals("")){pmap.put("xingming", null);}else{pmap.put("xingming", xingming);}
if(sushelou==null||sushelou.equals("")){pmap.put("sushelou", null);}else{pmap.put("sushelou", sushelou);}
if(sushehao==null||sushehao.equals("")){pmap.put("sushehao", null);}else{pmap.put("sushehao", sushehao);}
int total=wanguijiluService.getCount(pmap);
pageBean.setTotal(total);
List<Wanguijilu> list=wanguijiluService.getByPage(pmap);
map.put("page", pageBean);
map.put("list", list);
session.setAttribute("p", 1);
return "wanguijilulisttp";
}
@RequestMapping("deleteWanguijilu.do")
public String deleteWanguijilu(int id,HttpServletRequest request,HttpSession session){
wanguijiluService.delete(id);
return "redirect:"+request.getHeader("Referer")+"?ok=2";
}
}
系统测试
大学生宿舍管理系统通过功能测试及安全测试可以进一步完善功能内容,同时结合系统用例测试及功能测试的呈现结果,进行代码的调试以及功能的扩展,通过系统测试环节加强系统运行过程中的稳定性及流畅性,确保宿舍管理系统在终端用户界面呈现以及数据传递运行的有效性。测试环节是宿舍管理系统运行前的最后一步,通过该环节查漏补缺进一步确保系统平台运行和呈现的完整性。
通过系统功能测试以及安全测试用例结果反馈,此次大学生宿舍管理系统在功能模块的运行上能够实现准确的数据添加和传递,同时学生用户需要注册登录进入宿舍管理系统平台才可以实现宿舍信息的查询,系统功能呈现以及信息安全都满足系统的应用需求,测试结果可以判定为通过。