学生宿舍管理系统JSP.docx
- 文档编号:30363606
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:33
- 大小:1.21MB
学生宿舍管理系统JSP.docx
《学生宿舍管理系统JSP.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统JSP.docx(33页珍藏版)》请在冰豆网上搜索。
学生宿舍管理系统JSP
摘要
高校学生宿舍管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。
我们使用Microsoft公司的SQLSERVER2005数据库为开发工具,JAVA是比较完备的面向数据库开发工具,同时它也利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,提供了强大的数据环境,更有利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。
旧的手工纪录的宿舍管理方式已经不能适应高速发展的信息化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍信息管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。
这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。
关键词:
学生宿舍管理系统;JSP服务器;设计与实现;MyEclipse平台;SQLSERVER2005
第一章学生宿舍管理系统概述
1.1系统开发的意义
为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。
专用系统是一个信息管理系统MIS(ManagementInformationSystem)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能。
系统的具体设计与实现将针对淮安信息职业技术学院宿舍管理的具体情况进行开展。
1.2系统开发的背景与现状
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
我们针对如此,设计了一套学生宿舍管理系统。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。
1.3SQLServer2005简介
宿舍信息管理系统采用SQLServer2005数据库,实行自动化,高效率进行数据处理。
由于本信息管理系统采用的是采用JSP基于B/S体系结构的WEB应用程序。
将通过使用网络化处理,宿管人员只需要懂得计算机操作的初步知识即可。
SQLServer2005是Microsoft公司推出的SQLServer数据库管理系统,它继承了SQLServer2000版本的优点;同时,SQLServer2005具有使用方便。
可伸缩性好与相关软件集成程度高等特点;它是一个可靠易用的数据库平台。
可以用于大型联机事务处理。
数据库及电子商务等;支持多种操作系统(所以Windows版本)平台。
Access数据库本应该是作为本信息管理系统使用的数据库,但考虑到若Access数据库在Web服务器上使用,其在数据处理流量,安全性和数据库功能方面考虑,而SQLServer2005是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用了SQLServer2005数据库。
1.4JSP简介
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的java程序段可以操作数据库重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:
HTML+Java=JSP。
如图1-1所示:
图1-1JSP系统结构模型
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个servlet。
而这个引擎本身也是一个servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。
JSP引擎先把该JSP文件转换成一个Java源文件,在转换时如果发现jsp文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。
然后创建一个该SERVLET的实例,该SERVLET的jspInit()方法被执行,jspInit()方法在servlet的生命周期中只被执行一次。
然后jspService()方法被调用来处理客户端的请求。
对每一个请求,JSP引擎创建一个新的线程来处理该请求。
如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。
每个客户端请求对应一个线程。
以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该servlet始终驻于内存,所以响应是非常快的。
如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的servlet,并继续上述处理过程。
虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延迟。
此外,如果在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet从内存中移去。
当这种情况发生时jspDestroy()方法首先被调用,然后servlet实例便被标记加入"垃圾收集"处理。
jspInit()及jspDestory()格式如下:
可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。
1.5MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
(1)JavaEE模型
(2)WEB开发工具
(3)EJB开发工具
(4)应用程序服务器的连接器
(5)JavaEE项目部署服务
(6)数据库服务
(7)MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
第二章系统需求分析与总体设计
2.1功能需求
2.1.1基本功能需求
本课题实现的的是学生宿舍信息管理系统,再设计该系统时,应尽可能切近学生,便于用户操作。
系统在实现时应具有如下功能:
(1)管理学生的基本信息:
对学生信息的操作包括添加、修删除;可根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的student表中。
(2)管理人员信息:
管理人员的基本信息,对宿管的操作包括添加、修改、删除等:
可以根据各种条件查询出需要的信息,比如修改,可以通过宿管号查询出管理人员的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库worker表中。
(3)评分模块:
评分模块分为宿管权限界面以及学生权限界面。
中宿管权限界面,宿管可以为每个宿舍打分,分为地面、桌面、灯、物品、窗台三个方面,每项为20分。
在学生权限界面中,学生只能看到宿管为其宿舍打的分。
(4)报修模块:
报修模块分为学生权限界面以及宿管权限界面,在学生权限界面中,学生可以申请报修,需填写楼号、宿舍号、报修人以及保修内容。
在宿管权限中,宿管可以看到当天申请的保修内容。
2.2性能需求
2.1.1系统安全性
学生宿舍管理系统中的增加用户、学生毕业离校等某些模块都是和学生住宿费想联系在一起的,只有每年度的住宿费用缴纳完毕才准该生离校,所以在系统的管理权限上应进行严格控制,具体思想如下:
(1)要想对该学生宿舍管理系统进行操作就应当具有操作权限。
没有权限的用户不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
(2)在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员和学生用户登录窗口可以使用,没有账户的用户是不能登录该系统的。
(3)在具体是现实时还应为工作员和学生用户设定不同的权限,工作员应当可以使用系统的所有模块,学生用户对于用户管理模块、学生入住与离校退住牵扯到经济之类的模块无权使用的。
2.3业务流程
过去宿舍管理由宿舍管理员登记时手工记录在资质表单上,然后再将信息录入进Excel、Word中,在需要时查找对应文档进行修改、查询。
管理上无统一的信息平台,资料错误率高、查询效率低,不透明化,除宿舍管理员外,其他人根本无法了解实际的宿舍管理情况。
该管理系统基于B/S架构,简介的JSP语言提供了开发性和实用性,系统主要面对高校宿舍管理者。
采用统一信息管理平台后,用户通过姓名和密码登陆系统后,根据权限的不同能对各模块进行操作查看。
宿管管理功能模块
图2-1宿管管理功能模块
学生管理信息模块
图2-2学生管理信息模块
结合所选技术,实现如下所有的程序框架:
图2-3所有的程序框架
第三章详细设计
3.1数据库设计
3.1.1数据库的引入
数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。
它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。
数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。
数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。
特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。
数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。
作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。
对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。
可以说一个动态网站的建设是离不开一个设计最优的数据库的。
我们现在可以使用的数据库有很多种,如:
Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQLServer等等,在本次设计中,选择了IBM的DB2作为后台数据库工具,因为它功能远比Access、SQLServer强大,并提供了许多标准的关系数据库管理功能的支持。
他的各种关系数据库管理系统适应于各种硬件平台,包括Unix,PC和主机系统。
3.1.2数据库概念结构设计E-R图
概念模型是数据库系统的核心和基础。
由于各个机器上实现的DBMS软件都是基于某种数据模型的,但是在具体机器上实现的模型都有许多严格的限制。
而现实应用环境是复杂多变的,如果把实现世界中的事物直接转换为机器中的对象,就非常不方便。
因此,人们研究把现实世界中的事物抽象为不依赖与具体机器的信息结构,又接近人们的思维,并具有丰富语义的概念模型,然后再把概念
模型转换为具体的机器上DBMS支持的数据模型。
概念模型的描述工具通常是使用E-R模型图。
该模型不依赖于具体的硬件环境和DBMS。
概念结构是对现实世界的一种抽象。
所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确的加以描述,这些概念组成了某种模型。
通过概念设计得到的概念模型是从现实世界的角度对所要解决的问题的描述,不依赖于具体的硬件环境和DBMS。
在需求分析和逻辑设计之间增加概念设计阶段,可以使设计人员仅从用户的角度看待数据及处理要求和约束。
表达概念设计的结果称为概念模型,对概念模型有以下要求:
(1)有丰富的语义表达能力,能表达用户的各种需求。
(2)易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。
(3)要易于更改。
当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。
(4)易于向各种数据模型转换。
按照上述要求,传统的数据模型(网状、层次和关系模型)都不适合作概念模型。
在数据库的概念设计中,通常采用E-R数据模型来表示数据库的概念结构。
E-R数据模型将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。
数据库的E-R图如下:
图3-1学生信息ER图
图3-2宿管信息ER图
图3-3宿舍信息ER图
图3-4宿舍楼信息ER图
图3-5报修信息ER图
图3-6评比信息ER图
对应的数据表:
(1)学生基本信息表:
student如图3-7所示;
(2)宿管基本信息表:
worker如图3-8所示;
(3)宿舍信息表:
room如图3-9所示;
(4)宿舍楼信息表:
location如图3-10所示;
(5)报修注册表:
accident如图3-11所示;
(6)评分表:
ping如图3-12所示;
图3-7学生基本信息表
图3-8宿管基本信息表
图3-9宿舍信息表
图3-19宿舍楼信息表
图3-11报修注册表
图3-12评分表
3.2程序流程设计
3.2.1概述
详细设计阶段的根本目的是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的实际工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言写的语言实现每个模块的功能,详细设计的目标是仅仅是逻辑上正确地实现每个模块的功能,更重要的事设计的处理过程应该尽可能简明易懂。
3.2.2程序流程
程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。
根据需求,本系统由2个用户类型,分为学生和老师。
系统的使用是从登录开始的,下面开始设计程序登录流程图(适用2种不同用户):
图3-13登录流程图
图3-14权限流程图
宿管权限:
(1)学生入住登记:
学号
姓名
入校时间
(2)学生信息查询
楼号
宿舍号
(3)查看报修
(4)评分
(5)查看报修
学生权限:
(1)信息修改
(2)报修
(3)查看当日评分
3.3程序关键界面设计
程序界面是用户操作该系统的窗口,由于该系统是有JSP技术编写,那么界面的战士主要依靠.jsp文件来实现。
根据系统需求分析、操作流程,下面简要设计部分主要界面:
3.3.1系统登陆界面
根据需求分析,系统用户总共有两种:
学生和宿管。
所以登录用户可以为学生名或宿管名,同样对应相应密码。
登陆界面如图3-15:
图3-15登录界面
由于界面是由html与JSP完成的,所以界面的空间、布局是由html标签脚本来完成,西登陆界面包含一个from表单。
3.3.2学生、宿管权限界面
图3-16为学生权限界面,图3-17为宿管权限界面。
界面分为top、left、right三个版面,left为模块导航,right为主界面。
学生权限界面分为密码修改、信息修改、报修申请、评比分查看四个模块。
塑管权限界面分为入住登记、学生信息查询、报修查看、宿舍评比、信息修改五个模块。
图3-16学生界面首页
图3-17宿管界面首页
3.3.3学生信息修改
在入住注册时宿管只填写了学号、姓名、、宿舍号以及入校时间。
其他资料都是由学生自行填写的,在修改时学号和姓名是不能修改的,信息修改界面如图3-18所示:
图3-18学生信息修改界面
3.3.4报修界面
学生入住之后,宿舍内物件的损坏时不可避免的,为了方便学生跟快的的报修,在做程序设计时添加了宿舍报修模块,由宿舍号、楼号、报修人以及报修内容组成,此功能模块如图3-19所示:
图3-19学生宿舍报修模块
3.3.5评比界面
在宿舍生活中我们的各方面都是由宿舍监督的,其中一项就是卫生评比。
图所示的界面是学生所能看到的。
评分由后台完成的,界面如图3-20所示:
图3-20查看评比分数界面
3.3.6入住登记界面
新生入住登记界面是宿管的权限界面,在新生入校时由宿管填写,学填写学号、姓名、入住时间三个方面的信息,学生的初始登录密码就是学生的学号,入住登记界面如3-21所示:
图3-21新生入住登记界面
3.3.7学生信息查询
学生信息查询是宿管的权限界面,只有宿管才能查询学生的信息,宿管需要查询各宿舍学生的基本信息是可以在本界面完成,宿管查询时只需要选择楼号以及宿舍号即可查询,查询界面如图3-21所示:
图3-21
3.3.8评比分数填写界面
评比分数的填写界面是宿管的权限界面,在填写时需要选择楼号以及宿舍号兵填写相应的分数,每项做高分为20分。
评比分数填写界面如图3-22所示:
图3-22评比分数填写界面
3.3.8查看学生保修情况界面
查看学生报修界面是宿管的权限界面,宿管按下查看按钮时,查看到的是今日报修申请,学生报修信息界面如图2-23所示:
图3-23查看报修界面
第四章程序代码及实现
4.1数据库的连接
publicvoidConnect()
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Stringstr="jdbc:
sqlserver:
//127.0.0.1:
1433;DatabaseName=studentinfo";
this.con=DriverManager.getConnection(str,"sa","123");
}
catch(Exceptione){
System.out.print(e.toString());
}
}
4.2系统实现代码
系统实现的部分代码如下:
(1)登陆代码:
由图3-15跳转到图3-16源代码:
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html");
Dao_updu=newDao_up();
Stringname=request.getParameter("name");
Stringpass=request.getParameter("password");
Stringr1=request.getParameter("r1");
if(r1.e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生宿舍 管理 系统 JSP