学生宿舍管理系统物品出入模块.docx
- 文档编号:23787215
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:18
- 大小:140.02KB
学生宿舍管理系统物品出入模块.docx
《学生宿舍管理系统物品出入模块.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统物品出入模块.docx(18页珍藏版)》请在冰豆网上搜索。
学生宿舍管理系统物品出入模块
摘要
高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。
我们使用sun公司的NetBeans为开发工具和MicrosoftAccess作为数据库,JAVA是比较完备的面向数据库开发工具,同时它也利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,提供了强大的数据环境,更有利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。
旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。
这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
【关键词】:
学生宿舍管理系统;JSP服务器;设计与实现;NetBeans平台;MicrosoftAccess
第一章学生宿舍管理系统概述
1.1系统开发的意义
为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。
专用系统是一个信息管理系统MIS(ManagementInformationSystem)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能。
1.2系统开发的背景与现状
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。
1.3Access简介
MicrosoftAccess是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用MySQL或者MicrosoftSQLServer等大型数据库,基于本软件的数据量较小,所以采用了较为方便的Access数据库。
1.4JSP简介
JSP与Java一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠的特点。
1.5NetBeans简介
NetBeans由Sun公司在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的JavaIDE。
NetBeans当前可以在Solaris、Windows、Linux和MacintoshOSX平台上进行开发,并在SPL(Sun公用许可)范围内使用,NetBeans包括开源的开发环境和应用平台,NetBeansIDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeansIDE目前支持PHP、Ruby、jsp、JavaScript、Ajax、Groovy、Grails和C/C++等开发语言,是一款功能强大的软件开发平台。
第二章物品出入模块需求分析与总体设计
2.1功能需求
2.1.1基本功能需求
本课题实现的的是学生宿舍信息管理系统,再设计该系统时,应尽可能切近学生,便于用户操作。
物品出入模块应具有如下功能:
(1)对出入宿舍的贵重物品进行登记,包括楼号、学生号、宿舍号、物品、时间,值班人,以保证学生财务的安全。
(2)对物品进行查询,查询内容包括:
学号,出入物品,出入时间。
(3)对物品进行修改和删除。
2.2性能需求
2.2.1系统安全性
学生宿舍管理系统中的增加用户、学生毕业离校等某些模块都是和学生住宿等信息想联系在一起的,所以在系统的管理权限上应进行严格控制,具体思想如下:
要想对该学生宿舍管理系统进行操作就应当具有操作权限。
没有权限的用户不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
2.3业务流程
过去宿舍管理由宿舍管理员登记时手工记录在资质表单上,然后再将信息录入进Excel、Word中,在需要时查找对应文档进行修改、查询。
管理上无统一的信息平台,资料错误率高、查询效率低,不透明化,除宿舍管理员外,其他人根本无法了解实际的宿舍管理情况。
该管理系统基于JAVA2EE架构,运用servelet,JSP语言提供了开发性和实用性,系统主要面对高校宿舍管理者。
采用统一信息管理平台后,用户通过姓名和密码登陆系统后,根据权限的不同能对各模块进行操作查看。
第三章详细设计
3.1数据库设计
3.1.1数据库的引入
一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。
可以说一个动态网站的建设是离不开一个设计最优的数据库的。
我们现在可以使用的数据库有很多种,如:
Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQLServer等等,在本次设计中,选择了Access作为后台数据库工具,因为它存储方式简单,易于维护管理、集成环境、处理多种数据信息、Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用,操作简单功能强大,并提供了许多标准的关系数据库管理功能的支持。
3.1.2结构设计E-R图
3.1.3数据库设计
图3-7物品数据库
3.2程序流程设计
3.2.1概述
详细设计阶段的根本目的是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的实际工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言写的语言实现每个模块的功能,详细设计的目标是仅仅是逻辑上正确地实现每个模块的功能,更重要的事设计的处理过程应该尽可能简明易懂。
3.2.2程序流程
图3-13登录流程图
3.3程序关键界面设计
程序界面是用户操作该系统的窗口,由于该系统是有JSP技术编写。
根据系统需求分析、操作流程,下面简要设计部分主要界面:
3.3.1系统登陆界面
登陆界面如图3-15:
图3-15登录界面
3.3.2导航界面
3.3.3物品登记界面
图3-16物品登记界面
3.3.4查询物品界面
图3-18查询界面
第四章程序代码及实现
4.1数据库的连接
publicDBConnect()
{
try
{
Class.forName(driver).newInstance();
conn=DriverManager.getConnection(url);
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
}
catch(Exceptionex)
{
System.out.print("连接数据库发生错误:
"+ex.getMessage());
}
}
4.2系统实现代码
系统实现的部分代码如下:
(1)物品登记代码:
publicclassAddOutthingsextendsHttpServlet{
protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=UTF-8");
PrintWriterout=response.getWriter();
try{
}finally{
out.close();
}
}
@Override
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
processRequest(request,response);
}
@Override
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriterout=response.getWriter();
Outthingsoutthings=newOutthings();
HouseControlhousecontrol=newHouseControl();
OutthingsControloutthingscontrol=newOutthingsControl();
Stringdonghao=request.getParameter("donghao");
Stringhouseid=request.getParameter("houseid");
Stringstudentid=request.getParameter("studentid");
Stringthing=request.getParameter("thing");
Stringouttime=request.getParameter("outtime");
Stringinturn=request.getParameter("inturn");;
outthings.setDonghao(donghao);
outthings.setHouseid(houseid);
outthings.setStudentid(studentid);
outthings.setThing(thing);
outthings.setOuttime(outtime);
outthings.setInturn(inturn);
//处理数据
try
{
if(housecontrol.isExistHouse(donghao,houseid))
{
if(outthingscontrol.isExistStudent(outthings))
{
outthingscontrol.addOutthings(outthings);
out.print("");
outthingscontrol.close();
}
elseout.print("");
}
elseout.print("");
}
catch(Exceptione)
{
System.out.print("AddOutthingsServleterror:
"+e.getMessage());
}
finally
{
}
processRequest(request,response);
}
(2)查询
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
//接收POST请求,执行数据库操作,分页显示结果保存到session中,把视图派发到下一个页面
HttpSessionsession=request.getSession(true);
request.setCharacterEncoding("gb2312");
response.setContentType("text/html;charset=gb2312");
PrintWriterout=response.getWriter();
OutthingsControloutthingscontrol=newOutthingsControl();
PageBeanpageCt1=newPageBean();
intpage=1;
if(session.getAttribute("strSQL")!
=null)//判断客户机的请求是接受查询表单数据,还是执行翻页、修改或删除
{
strSQL=(String)session.getAttribute("strSQL");
if(session.getAttribute("jumppage")==null)//判断客户机的请求是翻页还是执行修改或删除后的显示
{
//Stringx=request.getParameter("jumppage");//得到要显示的页码
//page=Integer.parseInt(x);
Stringupdate=request.getParameter("update");
Stringdel=request.getParameter("del");
if(update!
=null||del!
=null)//判断客户机的请示是翻页还是修改或者删除,修改删除执行
{
intselect=Integer.parseInt(request.getParameter("select"));
pageCt1=(PageBean)session.getAttribute("pageCt1");//得到该页显示的数据
ArrayListsearch=pageCt1.getResult();
Outthingsoutthings=(Outthings)search.get(select);//得到要操作的数据
//session.setAttribute("jumppage",x);//保存要显示的页码
try
{
if(update!
=null)//保存要修改的数据,并派发到修改页面
{
session.setAttribute("outthings",outthings);
out.print("");
}else{//执行删除,重新查询
outthingscontrol.DelOutthings(outthings);//如果删除的数据是最后一页惟一一行数据,则将把要显示的页码减1
if(page==pageCt1.maxPage&&pageCt1.maxRowCount%pageCt1.rowsPerPage==1)
{
session.setAttribute("jumppage",String.valueOf(page-1));
}
outthingscontrol.close();
out.print("");//重新查询,并显示原页或前一页
}
}catch(Exceptione)
{System.out.print("SearchOutthingsServleterror:
"+e.getMessage());}
}
}else{
page=Integer.parseInt((String)session.getAttribute("jumppage"));//得到要显示的页码
session.setAttribute("jumppage",null);//要显示的页码清空
}
}else{//得到表单数据
Stringa1=request.getParameter("studentid");
Stringa2=request.getParameter("thing");
Stringa3=request.getParameter("outtime");
strSQL=getStrSQL(a1,a2,a3);
}
try
{session.setAttribute("strSQL",strSQL);
strSQL1="selectcount(*)fromoutthings"+strSQL;//计算查询总数的查询语句
strSQL="selecttop"+page*pageCt1.rowsPerPage+"*fromoutthings"+strSQL;//第一页到要显示页码的查询语句
if(page==0)out.print("");//符合条件的数据为0时将页面派发到查询页面
pageCt1=outthingscontrol.listData(page,this);//得到该页要显示的数据
outthingscontrol.close();
if(pageCt1.getResult().size()==0)out.print("");//符合条件的数据为0时将页面派发到查询页面
session.setAttribute("pageCt1",pageCt1);//保存要显示的数据
out.print("");//将视图派发到下一个页面
}
catch(Exceptione)
{
System.out.print("SearchHouseServleterror:
"+e.getMessage());}
finally
{
}
processRequest(request,response);
}
privateStringgetStrSQL(Stringa1,Stringa2,Stringa3)
{
strSQL="";
if(!
a1.equals(""))
{strSQL=strSQL+"wherestudentid='"+a1+"'";
if(!
a2.equals(""))strSQL=strSQL+"andthing='"+a2+"'";
if(!
a3.equals(""))strSQL=strSQL+"andouttimelike'%"+a3+"%';";
}else{
if(!
a2.equals(""))
{
strSQL=strSQL+"wherething='"+a2+"'";
if(!
a3.equals(""))strSQL=strSQL+"andouttimelike'%"+a3+"%';";}
else{
if(!
a3.equals(""))strSQL=strSQL+"whereouttimelike'%"+a3+"%';";}
}
strSQL=strSQL+";";
returnstrSQL;
}
(3)修改
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
HttpSessionse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生宿舍 管理 系统 物品 出入 模块
![提示](https://static.bdocx.com/images/bang_tan.gif)