24基于JSP技术学生宿舍管理系统的设计与实现.docx
《24基于JSP技术学生宿舍管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《24基于JSP技术学生宿舍管理系统的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。
24基于JSP技术学生宿舍管理系统的设计与实现
毕业设计(论文)
基于JSP技术学生宿舍管理系统的设计与实现
姓 名
系别、专业
导师姓名、职称
完成时间
摘要
本论文描述一个基于JSP技术的学生宿舍管理系统开发设计过程。
该系统采用MVC三层架构模式,系统开发使用了Servlet、Jsp、ajax、Jdbc等技术,其中用Servlet控制系统流程,用ajax技术进行相关表的验证,采用Oracle数据库的系统基本信息进行统一管理。
该系统主要实现的功能有查询学生、房间信息,录入学生、房间资料,学生入住、迁出,来访人员登记,费用管理,维修管理及系统设置。
通过该系统可提高宿管部门的工作效率,减少不必要的人力,物力,财力的支出,并使学生宿舍的管理标准化、规范化。
学生宿舍管理系统是一个可应用于各种学校等单位的管理系统,实现了通过网络化统一查询和管理宿舍区内各个住宿人员及其相关住宿信息的功能。
关键词:
Servlet;Jsp;ajax;Jdbc;Oracle
ABSTRACT
ThispaperdescribesatechniquebasedonJSPdormitorymanagementsystemdevelopmentanddesignprocess.Thesystemusesthree-tierMVC,systemdevelopmentusingServlet,Jsp,ajax,Jdbctechnologies,includingprocesscontrolsystemswithServlet,usingajaxtechnologyrelatedtotheverificationtable,usingOracledatabase,basicinformationsystemforunifiedmanagement.
Thesystemqueriesthestudentstoachievethefunction,roominformation,entrystudents,roomsinformation,studentsmovein,moveout,visittheregistrationstaff,costmanagement,maintenancemanagementandsystemsettings.Thesystemcanimprovethedormthroughthedepartment'sefficiency,reduceunnecessaryhuman,materialandfinancialresourcesoftheexpenditure,andtothemanagementofstudenthostelsstandardization.Dormitorymanagementsystemisavarietyofschoolsandotherunitscanbeappliedtothemanagementsystem,toachieveunitythroughnetworkqueryandmanagementofvariousresidentialquartersintheregionandtheirassociatedfeaturesaccommodationinformation。
KeyWords:
Servlet;Jspajax;Jdbc;Oracle
1前言
1.1系统选题的背景和来源
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录时或查询某位同学的信息时,由于数据量庞大,还只能靠人工一条条的查找,这样不但操作麻烦还浪费了大量时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正式适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取而代之。
21世纪的今天,信息社会站着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
针对如此,我就设计了一套学生宿舍管理系统。
学生宿舍管理系统采用的是计算机管理,系统负责数据库的管理,存储,记录等;使用者只需根据提示进行操作,使用非常简便:
管理人员则需将数据输入到系统的数据中去,并充当次数据库的简单管理者。
由于数据库的存储容量相当大,而且比较稳定,适合长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
1.2国内外对此类系统的开发和应用现状分析
从市场的角度看,随着我国社会主义市场经济的不断发展,传统的国有企业和事业单位的规模和所跨区域在日益扩大,各种新兴公司和单位日趋增多,一种先进的、快速的管理方式成为企业良好发展的后勤保障。
近几年来,由于计算机网络技术的不断扩大,一个能够应用于Internet网络中,进行对公司及单位的远程控制和管理的技术变的尤其必要,且其需求量也在迅速增加。
从企事业单位规模看,在良好市场经济刺激下,企事业单位的规模已经今非昔比,且有些实现了跨国、甚至跨洲规模。
所以在企业如此大,职工如此多的情况下,如何对快速、准确的公司、单位进行管理成了当前企事业发展的一大难题。
1.3系统设计和实现的主要目标和功能
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。
高校是科研的阵地,后勤的公寓管理也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。
对于当今大学校园内的学生宿舍来说,其数据量大,各种信息管理内容复杂,查询和管理学生信息和校园内的宿舍信息等工作由人工完成将是很累的,也许还很不切实际,不仅浪费了许多人力物力资源,而且还很容易出现差错,有一个符合要求的系统对其进行智能化的学生公寓管理是最好不过的,节省了人力物力资源,并且对各种信息的把握和操作也更加方便了,对所有信息有了一个全局的掌握。
基于这一点,开发此学生宿舍管理系统。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化。
本系统最大的特点是通用性、简单操作性,随着学校寄宿人员的增多,公寓管理人员的负担越来越重,为了让所有公寓管理人员能从繁重的工作中解脱出来,实现无纸化办公,使工作更有条理,更方便,更有效率而开发出这套宿舍宿舍管理系统,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库的存储容量相当大,而且比较稳定的,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
本论文使用JSP技术来实现一个最基本的学生宿舍管理系统,且系统需求依据均来源于学校宿舍实际。
该系统实现的功能有:
(1)管理者通过指定帐号和密码可以进入系统
(2)管理者可以随时录入某个学生或房间的住宿情况(3)管理者可以随时查询某个学生或房间的住宿情况(4)用户可以查询某个宿舍的水电费情况(5)用户还可以录入每个学生和访问者的出入情况。
1.4系统设计的主要技术路线
该系统采用MVC三层架构模式,系统开发中使用了Servlet、Jsp、ajax、Jdbc等技术,其中用Servlet控制系统流程,用ajax技术进行相关表的验证,采用Oracle数据库的系统基本信息进行统一管理。
2开发平台与技术简介
2.1开发系统平台环境及开发工具
操作系统:
Windowsxp系统;
Web应用服务器:
Tomcat5.0;
数据库:
Oracle数据库;
开发工具:
Jdk1.6,MyEclipse7.0;
软件开发技术:
JSP,Servlet,Jdbc,Java语言;
2.2Servlet技术
2.2.1Servlet的简介
Servlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。
除了使用JavaServletAPI,Servlet还可以使用用以扩展和添加到API的Java类软件包。
Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力Javaservlet对于Web服务器就好象Javaapplet对于Web浏览器。
Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。
JavaServletAPI定义了一个servlet和java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。
Servlet通过创建一个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务[1]。
当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。
当启动Web服务器或客户机第一次请求服务时,可以自动装入Servlet。
装入后,Servlet继续运行直到其它客户机发出请求。
2.2.2Servlet的功能
(1)创建并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。
(2)创建可嵌入到现有HTML页面中的一部分HTML页面(HTML片段)。
(3)与其它服务器资源(包括数据库和基于Java的应用程序)进行通信。
(4)用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。
(5)当允许在单连接下传送数据时,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。
当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接[2]。
通过定制协议或标准(如IIOP)进行通信。
(6)对特殊的处理采用MIME类型过滤数据,例如图像转换和服务器端包括(SSI)。
2.3JSP技术
2.3.1JSP概述
JSP是一种动态网页技术的标准,是基于JavaServlet以及整个Java体系的Web开发技术。
JSP页面使用XML标签和scriptlets(一种使用Java语言编写的脚本代码),封装了生成页面内容的逻辑。
它将各种格式的标签(HTML或者XML)直接传递回响应页面。
通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离[3]。
JSP的执行效率高,JSP页面被编译成servlet,服务器通过网络接收到来自客户端HTTP的请求后,Java虚拟机解析产生的servlet将开启一个线程来提供服务,并在服务处理结束后自动销毁这个线程,这样减轻了系统的负载,提高了系统的效率[7]。
JSP跨平台,由于运行在Java虚拟机之上,借助于Java本身的跨平台能力可在任何支持Java的平台和操作系统上运行,有着广泛的适应性。
JSP网络编程技术与实践JSP编写简单,是基于Java和HTML元素的一项技术,只要熟悉Java和HTML就可以开发JSP。
2.4JDBC技术
2.4.1JDBC介绍
JdbcAPI为Java开发者使用数据库提供了同一的编程接,它由一组Java类和接口组成。
JdbcAPI使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。
Jdbc定义了许多接口和类,但是经常使用的却不是很多[5]。
每个数据库驱动程序必须实现Driver接口。
对于JSP开发者而言,只需要使用Driver接口就可以了。
我们在编程中要连接数据库,必须先装载特定厂商提供的数据库驱动程序。
2.5Oracle技术
2.5.1Oracle的简介
Oracle是一种广泛应用于系统开发的关系型数据库软件,可在100多种硬件平台上运行,支持几乎所有操作系统。
Oracle的关系型数据库系统又叫做Oracle9iServer。
Oracle9i将开发企业级应用程序所需具备的工具整合在新的开发工具套件(OracleInternetDeveloperSuite,OracleiDS)之内。
OracleiDS包含数种功能强大的开发工具,如Developer、FormsDeveloper、Designer、ReportsDeveloper、Discover、Portal等。
OracleJDeveloper9i是一个整合式的可视化Java开发环境,支持J2EE。
[9]
[OracleiDS具备以下特点:
(1)建立在Java、XML以及CORBA等网际网络标准之上。
(2)适合各种研发方式,例如商业逻辑组件开发、可视化模型建构。
(3)提供轻松建置企业入口网站之解决方案。
JDeveloper可提供Java程序设计师快速开发出JavaApplets、JSPs、Servlets、EJB等Java应用程序【8】。
JDeveloper也可搭配BIBeans(BusinessIntelligenceBeans)与Oracle9iOLAPService,建构出高效能的数据仓库分析系统。
2.5.2Oracle的特点
(1)支持数据库,多用户的高性能的事务处理
(2)遵守数据存取语言,操作系统,用户接口和网络通信协议的工业标准,所以它是一个开放系统。
(3)实施安全性控制和完整必控制。
(4)支持分布式数据库和分布处理。
(5)具有可移植性,可兼容性,可连接性[10]。
3系统分析和总体设计
3.1所选系统的理由
1、必要性:
随着现代信息技术的飞速发展,学校、技校规模的不断扩大、数量不断增多,学生、教师数量的日益增多,目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录时或查询某位同学的信息时,由于数据量庞大,还只能靠人工一条条的查找,这样不但操作麻烦还浪费了大量时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正式适应时代的产物。
2、可行性:
系统可行性包含以下三方面:
(1)经济可行性:
该系统对操作环境要求不大,系统的开发不需要很强的经济支持,就其功能和给企事业单位带来的方便来说,是完全可行的。
(2)操作可行性:
目前计算机已经普及到所有的单位及大部分家庭,不仅在企事业,即使足不出户也能通过网络对单位和人员进行统一管理。
管理者只要通过用户帐号和密码就可以进入系统,进行对单位和人员的管理,因此其操作是完全可行的。
(3)技术可行性:
本系统采用Java语言,基于Tomcat5.0+MyEclipse+SunOS5.8开发平台,采用JSP,Oracle,Servlet等技术,开发者掌握这些技术就可以具备开发此系统的能力,另外,此系统对开发环境的要求,都是大部分Java程序员进行软件开发使用的开发环境,所以,技术方面也是可行的。
3.2需求分析
通过对系统的手工工作流程的调研与分析,归纳学生宿舍管理系统具有以下功能:
1.数据需求:
此系统主要完成学生入住登记及入住后的管理,因此,需要的数据信息包括:
管理员信息:
包括用户帐号和密码等信息。
学生信息,包括学生基本信息,住房信息,迁入迁出信息;房屋信息:
包括价格和标准配置,水电费的设置和收缴情况;维修信息:
包含维修者和损坏者及赔偿等信息;访问者信息:
包括访问者身份及进入和离开登记等。
2.功能需求:
基本功能需求
功能需求分析的任务是弄清用户对目标系统数据处理功能所提出的需求。
本系统的功能需求有:
(1)只允许管理者通过指定帐号和密码可以进入系统
(2)管理者可以随时录入某个学生或房间的住宿情况
(3)管理者可以随时查询某个学生或房间的住宿情况
(4)用户可以查询某个宿舍的水电费情况
(5)用户还可以录入每个学生和访问者的出入情况
3.性能需求
学生宿舍管理系统中管理权力上应当进行严格控制,具体思想如下
(1)要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。
没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何信息和数据,以确保系统的严密性和安全性。
(2)在查询的时候是每个学生都可以查询。
同时也看到每个寝室的情况。
只是在这样的情况下所查询的权限不一样。
管理员是可以对数据库进行增、删、改等等功能。
(3)楼栋的楼长和舍长等等需要注册登录并通过管理员的认证才能进行卫生检查情况的登录。
(4)网上申报可以对所有的同学开放,只是在申报的时候应注明是哪个楼栋的哪个寝室申报什么东西的修理。
4.数据库选择
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专业的应用程序包发展成为通用系统软件,由于数据库具有数据结构化,最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表多,另外考虑到实际情况,学生基本信息的变动,我选用Oracle作为数据库开发。
Oracle是一种常用的关系数据库,能存放和读取大量的数据和管理众多并发的用户,故选用Oracle数据库。
3.3业务流程图
3.3.1学生宿舍管理系统部分业务流程图
分别就学生入住,宿舍物品出入,宿舍物品维修给出的相关业务流程图。
1、学生入住宿舍业务流程图
当有新生入住宿舍时,学生必须经过宿管员登记一些学生的基本资料和学生入住宿舍的基本资料,这样学生才能入住新宿舍。
3-1学生入住宿舍业务流程图
2、宿舍贵重物品出楼业务流程图
当有学生有贵重物品想要出宿舍,必须先申请,然后通过管理员登记,这样才能带贵重物品出宿舍,确保宿舍物品安全。
3-2宿舍物品出楼业务流程图
3、宿舍物品维修业务流程图
当有宿舍物品坏掉时,必须先申报,然后通过管理员登记,登记之后,维修人员才能尽快来宿舍进行维修。
3-3宿舍物品维修业务流程图
3.4总体设计
3.4.1功能模块设计
1.功能定义:
(1)资料录入:
房间的基本信息和入住学生基本信息的录入;
(2)房间管理:
对每个房间进行学生住入和搬出、调换工作;
(3)来访管理:
对来访者进行登记和历史记录的查询;
(4)出楼管理:
对学生出入及携带物品进行登记;
(5)费用标准:
对每个宿舍的费用标准进行设置、查询和水电费的收缴情况;
(6)维修查询:
对每次维修进行记录和查询;
(7)系统管理:
管理员自身信息管理及退出工作;
2系统功能结构图:
此系统基于MVC架构模式进行设计,利用JSP+JavaBean+Servlet具体实现。
通过对所做模块的功能需求分析,该模块主要功能可分为七大部分,系统结构如图3-4所示。
图3-4系统结构图
3.4.2系统数据传递方式
本项目使用Java编写,核心架构为MVC模式的变形应用,软件实现的所有功能都是对事件源对象进行监听,然后根据对象内部的类型标记数据,把对象分配到相应的事件处理类中进行处理,比如:
客户端登录:
(1)页面接收用户名,用户密码。
(2)通过Socket发送套接字串(H0001:
用户名:
密码)到服务器端。
(3)服务器端通过Socket接收到套接字字段,根据H0001这一字段,把其他信息分发到login类进行相应的验证处理。
(4)服务器端验证通过后,login类直接返回给客户端信息。
开发模式的数据传递关系如图3-5所示
图3-5JSP+JavaBean+Servlet开发模式的数据传递关系图
3.4.3系统流程图
系统流程图又叫事务流程图,是在计算机事务处理应用进行系统分析时常用的一种描述方法(另一个是数据流图),它描述了计算机事务处理中从数据输入开始到获得输出为止,各个处理工序辑过程,本系统流程图如下:
图3-6系统流程图
3.4.4系统框架设计
系统总体结构采用MVC模式与Web应用的分层,系统内层次结构分明清晰,框架结构组织图3-7所示:
图3-7系统框架组织图
系统WebRoot中的文件主要是直接呈现在用户面前的网页,也就是MVC中的V(View)负责界面的显示和与用户的交互。
连接数据库的驱动架包:
ms.jar,mssqlserver.jar,msutil.jar
定义基础类DBConnect.java实现JDBC数据库连接。
定义EncodeFilter类解决中文显示出现乱码问题。
JRESystemLibrary包与J2EE1.4Libraries包是系统自动生成的架包。
3.4.5数据库设计
数据库设计就是设计程序所需数据的类型、格式、长度和组织方式。
因为数据库应用系统主要是处理大量的数据,所以数据库设计的优劣,直接影响整个数据库应用系统的性能和执行速率。
根据本系统的功能需求分析,本系统的数据库可包括多个表,其中有管理员表(admin),房间表(house),学生表(student),出楼财物表(outtings),维修表(repair)。
系统的E_R图如图3-8所示:
图3-8系统E-R图
3.4.6数据库表设计
1.管理员表
该表包含用户登录名,密码。
具体如表3-9。
表3-9admin表
字段名
类型
字段宽度
小数位数
索引
username
字符型
20
password
字符型
10
2.房间表
该表包含楼号,房号,入住性别,电话号码,入住人数,住宿费用等信息。
具体如表3-10。
表3-10house表
字段名
类型
字段宽度
小数位数
索引
Donghao
字符型
2
Houseid
字符型
3
Sex
字符型
2
Phone
字符型
8
Ruzhu
数值型
4
Expense
字符型
50
3.学生表
该表包含学生号,姓名,性别,籍贯,年级,系院,班级等信息。
具体如表3-11。
表3-11student表
字段名
类型
字段宽度
小数位数
索引
Studentid
字符型
10
主键
Name
字符型
8
Sex
字符型
2
Home
字符型
50
2
Years
字符型
4
2
Xiyuan
字符型
10
Classid
字符型
20
4.出楼财物表
该表包含房号,学生号,出楼物品,出楼日期等信息。
具体如表3-12。
表3-12outtings表
字段名
类型
字段宽度
小数位数
索引
Houseid
字符型
2
Studentid
字符型
10
Thing
字符型
10
Outingdata
日期型
5.物品报修表
该表包含楼号,房间号,报修物品,报修日期,维修日期,是否赔偿等信息。
具体如表3-13。
表