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