基于JSP技术学生宿舍管理系统的设计与实现(含源文件)


获取项目源文件,联系Q:1225467431,可指导毕设,课设


摘 要
本论文描述一个基于JSP技术的学生宿舍管理系统开发设计过程。该系统采用MVC三层架构模式,系统开发使用了Servlet、Jsp、ajax、Jdbc等技术,其中用Servlet控制系统流程,用ajax技术进行相关表的验证,采用Oracle数据库的系统基本信息进行统一管理。
该系统主要实现的功能有查询学生、房间信息,录入学生、房间资料,学生入住、迁出,来访人员登记,费用管理,维修管理及系统设置。通过该系统可提高宿管部门的工作效率,减少不必要的人力,物力,财力的支出,并使学生宿舍的管理标准化、规范化。学生宿舍管理系统是一个可应用于各种学校等单位的管理系统,实现了通过网络化统一查询和管理宿舍区内各个住宿人员及其相关住宿信息的功能。
关键词:Servlet;Jsp;ajax;Jdbc;Oracle
ABSTRACT
This paper describes a technique based on JSP dormitory management system development and design process. The system uses three-tier MVC, system development using Servlet, Jsp, ajax, Jdbc technologies, including process control systems with Servlet, using ajax technology related to the verification table, using Oracle database, basic information system for unified management.
The system queries the students to achieve the function, room information, entry students, rooms information, students move in, move out, visit the registration staff, cost management, maintenance management and system settings. The system can improve the dorm through the departments efficiency, reduce unnecessary human, material and financial resources of the expenditure, and to the management of student hostels standardization. Dormitory management system is a variety of schools and other units can be applied to the management system, to achieve unity through network query and management of various residential quarters in the region and their associated features accommodation information。
Key Words:Servlet;Jsp ajax;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应用服务器:Tomcat 5.0;
数据库:Oracle数据库;
开发工具: Jdk1.6,MyEclipse7.0;
软件开发技术:JSP , Servlet ,Jdbc, Java语言;
2.2 Servlet技术
2.2.1 Servlet的简介
Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的Java程序。除了使用 Java Servlet API,Servlet还可以使用用以扩展和添加到API的Java 类软件包。Servlet在启用Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API定义了一个servlet 和java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。Servlet通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务[1]。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让Servlet建立起服务器返回给客户机的响应。当启动 Web服务器或客户机第一次请求服务时,可以自动装入Servlet。装入后,Servlet继续运行直到其它客户机发出请求。
2.2.2 Servlet的功能
(1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。
  (2) 创建可嵌入到现有 HTML页面中的一部分HTML页面(HTML 片段)。
  (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。
  (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。
  (5) 当允许在单连接下传送数据时,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接[2]。通过定制协议或标准(如 IIOP)进行通信。
  (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。
2.3 JSP技术
2.3.1 JSP 概述
JSP是一种动态网页技术的标准,是基于Java Servlet以及整个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.4 JDBC技术
2.4.1 JDBC介绍
Jdbc API为Java开发者使用数据库提供了同一的编程接,它由一组Java类和接口组成。Jdbc API使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。Jdbc定义了许多接口和类,但是经常使用的却不是很多[5]。每个数据库驱动程序必须实现Driver接口。对于JSP开发者而言,只需要使用Driver接口就可以了。我们在编程中要连接数据库,必须先装载特定厂商提供的数据库驱动程序。
2.5 Oracle技术
2.5.1 Oracle的简介
Oracle 是一种广泛应用于系统开发的关系型数据库软件,可在100多种硬件平台上运行,支持几乎所有操作系统。Oracle 的关系型数据库系统又叫做Oracle 9i Server。
Oracle9i将开发企业级应用程序所需具备的工具整合在新的开发工具套件(Oracle Internet Developer Suite,Oracle iDS)之内。Oracle iDS包含数种功能强大的开发工具,如Developer、 Forms Developer、Designer、Reports Developer、Discover、Portal等。
Oracle JDeveloper 9i是一个整合式的可视化Java开发环境,支持J2EE。[9]
[Oracle iDS具备以下特点:
(1)建立在Java、XML以及CORBA等网际网络标准之上。
(2)适合各种研发方式,例如商业逻辑组件开发、可视化模型建构。
(3)提供轻松建置企业入口网站之解决方案。
JDeveloper可提供Java程序设计师快速开发出Java Applets、JSPs、Servlets、EJB等 Java应用程序【8】。JDeveloper 也可搭配BI Beans(Business Intelligence Beans)与Oracle9i OLAP Service,建构出高效能的数据仓库分析系统。
2.5.2 Oracle 的特点
(1)支持数据库,多用户的高性能的事务处理
(2)遵守数据存取语言,操作系统,用户接口和网络通信协议的工业标准,所以它是一个开放系统。
(3)实施安全性控制和完整必控制。
(4)支持分布式数据库和分布处理。
(5)具有可移植性,可兼容性,可连接性[10]。
3 系统分析和总体设计
3.1所选系统的理由
1、必要性:
随着现代信息技术的飞速发展,学校、技校规模的不断扩大、数量不断增多,学生、教师数量的日益增多,目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录时或查询某位同学的信息时,由于数据量庞大,还只能靠人工一条条的查找,这样不但操作麻烦还浪费了大量时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正式适应时代的产物。
2、可行性:
系统可行性包含以下三方面:
(1)经济可行性:该系统对操作环境要求不大,系统的开发不需要很强的经济支持,就其功能和给企事业单位带来的方便来说,是完全可行的。
(2)操作可行性:目前计算机已经普及到所有的单位及大部分家庭,不仅在企事业,即使足不出户也能通过网络对单位和人员进行统一管理。管理者只要通过用户帐号和密码就可以进入系统,进行对单位和人员的管理,因此其操作是完全可行的。
(3)技术可行性:本系统采用Java语言,基于Tomcat 5.0 +My Eclipse + Sun OS 5.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-5 JSP+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类解决中文显示出现乱码问题。
JRE System Library包与J2EE 1.4 Libraries包是系统自动生成的架包。
3.4.5数据库设计
数据库设计就是设计程序所需数据的类型、格式、长度和组织方式。因为数据库应用系统主要是处理大量的数据,所以数据库设计的优劣,直接影响整个数据库应用系统的性能和执行速率。
根据本系统的功能需求分析,本系统的数据库可包括多个表,其中有管理员表( admin ),房间表( house ), 学生表( student ),出楼财物表( outtings ), 维修表( repair )。
系统的 E_R图 如图3-8所示:
图3-8 系统E-R图
3.4.6数据库表设计
1.管理员表
该表包含用户登录名,密码。具体如表3-9。
表3-9 admin 表
字段名 类型 字段宽度 小数位数 索引
username 字符型 20
password 字符型 10
2.房间表
该表包含楼号,房号,入住性别,电话号码,入住人数,住宿费用等信息。具体如表3-10。
表3-10 house 表
字段名 类型 字段宽度 小数位数 索引
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-12 outtings 表
字段名 类型 字段宽度 小数位数 索引
Houseid 字符型 2
Studentid 字符型 10
Thing 字符型 10
Outingdata 日期型
5.物品报修表
该表包含楼号,房间号,报修物品,报修日期,维修日期,是否赔偿等信息。具体如表3-13。
表3-13repair 表
字段名 类型 字段宽度 小数位数 索引
Donghao 数值型 2
Housiid 数值型 3
Thing 字符型 10
Calldate 日期型
Repirdate 日期型
Peichang 字符型 2
4 系统实现
4.1 系统界面设计
1. 登录界面
实践实现:管理员在浏览器输入:http://localhost:8888/MyDesign/login.jsp进入如图4-1-1 (​http:​/​​/​localhost:8888​/​MyDesign​/​login.jsp进入如图4-1-1​)所示页面,本页面主要实现接收管理员帐号和密码,并发送到服务器进行身份验证,返回验证结果后判断是否进入管理页面。如果账号或密码不正确就会提示错误信息。由于登录后将管理员的账号和密码放在session中可以防止重复提交。实现了智能管理。因为学生宿舍管理系统对管理权限有严格要求,只允许已经注册的管理员通过制定的账号和密码进入系统。界面如图4-1-1所示:
图4-1-1主桌面主图
登录主要实现过程代码:
if(username.equals()||password.equals())
pw.print( );
try
{
admin.setUserName(username);
admin.setPassword(password);

//判断管理员信息是否正确,通过统一的方法实现类实现数据库连接
//和管理员信息验证。
if(admincontrol.isAdmin(admin).equals(success)){
HttpSession session=req.getSession(true);
session.setAttribute(admin, admin);
res.sendRedirect(index.jsp);
}else {
pw.print( );
}
}catch(Exception e){
System.out.println(login has error+e.getMessage());
}
}
//Clean up resources
public void destroy()
{
}
}
2. 管理界面
系统通过了管理员帐号和密码的验证,直接进入此管理界面,该界面包含管理员所有可操作信息。包括资料(房间、学生)录入,房间管理(含学生入住、迁出和调房),来访登记和查询,费用管理,维修管理和系统管理。
如图4-1-2所示:
图4-1-2主界面图
3.资料录入
管理员通过单击资料录入”进行新建宿舍和入住学生的信息录入工作。该模块包括对新入住学生的信息保存和查询工作,新建宿舍的管理工作。如学生基本资料录入,可以对入住宿舍学生的学号、姓名、性别、籍贯、学院、班级等信息做很详细的登记,
系统实现了对入住学生信息辨别,如果该学生已经入住的话就会提示相关的信息,防止重复入住的不应该出现的事物,同时也防止产生系统冗余。大量减少了管理员的工作量,提高管理员的工作质量,这样有利于宿管员对学生更好的管理。
例如学生录入界面,如图4-1-3所示:
图4-1-3新生入住信息录入界面图
具体实现主要代码如下:
if(!studentcontrol.isExistStudent(studentid)){
student.setStudentid(studentid);
student.setName(name);
student.setSex(sex);
student.setHome(home);
student.setYears(years);
student.setNianzhi(nianzhi);
student.setXueyuan(xueyuan);
student.setClassid(classid);
student.setExtra(extra);
studentcontrol.addStudent(student);
studentcontrol.close();
out.print( );
}else{
out.print( );
}catch(Exception e){
System.out.print(AddStudentServlet error:+e.getMessage());
}
}
//Clean up resources
public void destroy(){
}
}
4.房间管理界面
管理员通过单击房间管理”进行学生的迁入、迁出和调房工作。学生入住宿舍,可以对其学号、入住的楼号、房号和入住时间进行登记。此处也应用了防止重复入住相关技术,加入数据库中已经存在该学生的话,就会提示相关的信息,比如该学生已经存在等。学生迁出也一样,会有相关提示。然而调房只是对数据库的刷新而已,我们所有页面都实现了重置,也就是当你填入相关有误的话只要你点一下重置所有的信息都会清空。
学生迁入界面如图4-1-4
图4-1-4学生入住信息录入界面图
具体实现主要代码:
if(form.studentid.value==)
{

alert(请输入学号!);

if(form.donghao.value==)
{
alert(请输入楼号!);
document.form.elements
}else{
if(form.houseid.value==)
{
alert(请输入房号!);
document.form.elements.
}else{
if(form.intime.value==)
{
alert(请输入入住日期!);
document.form.elements
}else{
form.submit();
}
}
学生迁出界面如图4-1-5所示
图4-1-5学生迁出信息录入界面图
具体实现主要代码:
if(form.studentid.value==)
{
alert(请输入学号!);
document.form.elements
}else{
if(form.donghao.value==)
{
alert(请输入楼号!);
document.form.elements
}else{
if(form.houseid.value==)
{
alert(请输入房号!);
document.form.elements
}else{
form.submit();
}
}
调房登记界面如图4-1-6所示:
图4-1-6调房登记信息录入界面图
具体实现主要代码如下:
if(studentcontrol.isExistStudent(studentid))
{
if(housecontrol.isExistHouse(ydonghao,yhouseid))
{
if(studentcontrol.isExistStudentHouse(student))
{
if(housecontrol.isExistHouse(xdonghao,xhouseid))
{
student=studentcontrol.getStudentInfo(1,studentid);
House house=housecontrol.getHouseInfo(xdonghao,xhouseid);
if(house.getSex().equals(student.getSex()))
{
if(house.getKezhu()>house.getRuzhu())
{
student.setDonghao(xdonghao);
student.setHouseid(xhouseid);
studentcontrol.UpdateStudentHouse(student);
student.setIntime(java.sql.Date.valueOf(intime));
if(house.getRuzhu()==0)
{
expensecontrol.setExpense(student);
}
housecontrol.addStudent(xdonghao,xhouseid);
housecontrol.delStudent(ydonghao,yhouseid);
studentcontrol.close();
housecontrol.close();
out.print( );
}else out.print( );
}else out.print( );
}else out.print( );
}else out.print( );
}else out.print( );
}else out.print( );
}catch(Exception e)
{
System.out.print(DelStudentHouseServlet error:+e.getMessage());
}
5.出楼管理
管理员通过单击出楼管理”实现对出入人员进行登记和查询,以确保住宿人员的安全,防止宿舍内物品的丢失等。如 出楼贵重物品登记,对出楼贵重物品的楼号、房号、出楼时间、值班人都进行了详细的登记,这样防止了外来人员带走宿舍贵重物品的发生,大大确保了宿舍贵重物品的安全。
部分界面如图4-1-7所示:
图4-1-7 学生出楼贵重物品登记表图
6.费用管理
管理员通过单击费用管理”来设置其水电费用标准及费用的收缴工作。
此页面实现的是水电费的管理,同时当水电费发生先应得变化时,管理员可以同该功能及时调整水电的价格,防止对学生收费发生错误。
设置水电费界面如图4-1-8所示:
图4-1-8设置水电费用表图
具体实现主要代码如下:
public class SetStandard extends HttpServlet
{
//对登陆servlet进行初始化
public void init() throws ServletException {
}
//处理设置标准的业务逻辑
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
request.setCharacterEncoding(gb2312);
response.setContentType(text/html; charset=gb2312);
PrintWriter out = response.getWriter();
DBConnect dbconnect=new DBConnect();
StandardControl standardcontrol=new StandardControl();

String wstd=request.getParameter(wstd);
String estd=request.getParameter(estd);
System.out.println(wstd);

try{
standardcontrol.UpdateStandard(wstd,estd);
out.print( );
}catch(Exception e){
System.out.print(SetStandardtServlet error:+e.getMessage());
}
}
//Clean up resources
public void destroy()
{
}
}
设置水电费标准后可自动跳转到查询界面,给出设置后的新标准,也可重新查询系统修改后代新标准。
修改后的新标准界面如图4-1-9所示:
图4-1-9设置后水电费用表图
7.维修管理
管理员通过单击维修管理”来实现宿舍内的循环物的维修工作。该模块分为物品报修和物品查询等功能,既可快速实现被损坏物品的报修工作,记录物品损坏责任人和赔偿金额,又能实现对正修和以修过物品的查询工作。如物品报修界面,可以对物品报修的楼号、房号、报修的物品、保修日期、报修原因进行详细登记,这样有利于维修人员对维修工作的展开。
物品报修界面如图4-1-10所示:
图4-1-10物品报修表界面图
主要实现过程代码如下:
if(housecontrol.isExistHouse(donghao,houseid))
{
if(!repaircontrol.isExistRepair(repair))
{
repaircontrol.addRepair(repair);
}else{
repaircontrol.close();
housecontrol.close();
out.print( );
}
}else{
housecontrol.close();
out.print( );
return;
}
}
catch(Exception e)
{
System.out.print(AddRepairServlet error:+e.getMessage());
}
finally
{
}
out.print( );
repaircontrol.close();
housecontrol.close();
}

//Clean up resources
public void destroy()
{
}
}
8.系统管理界面
管理员通过单击系统管理”可以实现修改密码和退出登陆的功能,没有实现查询和增加管理员的功能。通过session拿到原始的密码,同时还实现了新密码的确认,如果你前后2次输入的密码不对就会弹出提示,如果你输入正确的话,就会将原管理员的账号和你的新密码封装,与数据库进行同步的刷新。以达到密码修改的功能。该模块设计相对简单,但依赖于java语言软件开发的可扩展性特点,系统使用者可以自行增加相应功能。
界面如图4-1-11所示:
图4-1-11修改密码界面图
实现过程主要代码如下:
if(.equals(admincontrol.isAdmin(admin)))
{
//检查两次输入密码是否一致
if(password1.equals(password2)) {
admin.setPassword(password1);
admincontrol.UpdateAdmin(admin);
admincontrol.close();
out.print( );
}else out.print( );
}else out.print( );
}catch(Exception e)
{
System.out.print(UpdateAdminServlet error:+e.getMessage());
}
}
//Clean up resources
public void destroy()
{
}
}
5 运行与测试
5.1 软件测试的目的
在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。
尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象编程里更具有它的重要性。
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试的基本层次如图5-1所示。
图5-1 测试的基本层次图
5.2软件测试的方法
(1)单元测试 单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。
(2)集成测试 在这个测试步骤中所发现的往往是概要设计的错误。
(3)系统测试 在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。
(4) 白盒测试 在知道程序代码的情况下进行,主要是测试代码逻辑。
(5)黑盒测试 在不关心代码的情况下进行,主要是测试系统功能【4】。
5.3 软件的运行与安装
5.3.1 应用程序的构建、部署
在J2EE 框架下,EJB 主要实现的是企业的业务逻辑。这些业务逻辑可以分布式地物理存在于不同的应用服务器上。在实现商务逻辑时,我们要在客户端通过应用服务器来调用这些业务逻辑。要调用业务逻辑,我们必须先将实现业务逻辑的EJB部署到应用服务器中以便调用,。这些应用服务器包括BEA 的WebLogic、IBM的WebSphere 和源代码开放组织的JBoss 、Tomcat应用服务器。本次开发用的服务器是Tomcart,打包与部署过程如图5-2所示。
图5-2 打包与部署过程
5.3.2 系统运行过程
启动Tomcat5 应用服务器后,在URL地址中输入http://localhost:8888/MyDesign/,即可运行此系统。
结 论
从本系统开始设计到现在,基本上是个人独立完成,但也有指导老师协助完成的模块、功能,到目前为止各个功能基本都已实现。通过对本系统的开发,我对软件的设计和开发的步骤、方法及思路有了一个全新的认识,加深了我对java开发语言的理解,同时也给我提供了一次为以后实际模拟锻炼的机会,我感到受益非浅。
学生宿舍管理系统是根据自身体会和学校实际来分析设计的,初步确定了系统涉及的领域,包括数据库设计、界面设计、Web应用层设计等,是一个具有实际应用意义的典型管理系统。
本系统具有如下特点:
(1)采用MVC三层体系结构,使系统具有很好的可维护性、可重用性和可扩展性。
(2)在本系统的开发过程中采用的是JSP+JavaBean+Servlet模式,此模式将明显的巴显示和逻辑分离,使代码容易管理,适合于大型项目的开发。
(3)后台数据库采用的Oracle,它功能比较强大,除了可以处理包含在各种平台上运行的数据库管理系统内核之外,还包括了数据复制、数据库系统管理、Internet网关支持、在线分析处理、多媒体支持和各种并行处理能力。
本系统虽然不大,但由于基本是个人独立分析设计和开发实现,加之毕业设计的时间有限,在许多方面还有待进一步改进和完善。
参考文献
[1] 耿祥义,张跃平.JSP实用教程[M].清华大学出版社,2003-05.
[2] 刘晓华, 张健, 周惠贞. JSP应用开发详解. (第三版) 电子工业出版社,2007-07
[3] 李建刚, 秦兴桥, 郑雨贝.JSP网络编程技术与实践.清华大学出版社,2008-06
[4] 刘欣怡,周跃东,田秀丽. 软件工程(计算机专业教材). 清华大学出版社,2007-10
[5] 李刚. 轻量级Java EE企业应用实战. 电子工业出版社,2008-11
[6] 殷庆. JSP 2.0动态网站开发实例指南. 机械工业出版社,2006-8-1
[7] 刘京华. Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernat (​http:​/​​/​item.taobao.com​/​spu-76504009-4248263217-1.htm _blank​)).清华大学出版社 , 2010-1-1
[8] 隽青龙,王华容.JSP+Oracle动态网站开发. 清华大学出版社, 2008-8-1
[9] 韩思捷. ORACLE数据库技术实用详解. 电子工业出版社,2008-06
[10] 王东明,李星海,王海凤,王海亮.Oracle11g管理备份恢复从入门到精通. 中国水利水电出版社,2008-07

管理员登录
资料录入
房间管理
来访管理
出楼管理
费用管理
维修管理
系统管理
www.51jplw.com
PAGE
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设

猜你喜欢

转载自blog.csdn.net/u010783228/article/details/86035426