javaweb-基于structs的宿舍管理系统(28页).doc
-
资源ID:36393933
资源大小:262KB
全文页数:27页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
javaweb-基于structs的宿舍管理系统(28页).doc
-javaweb-基于structs的宿舍管理系统-第 22 页课程设计说明书题目: 基于Struts2的宿舍管理系统 成 绩 : 时间:2017年4月1日至 2017年6月1日课程设计任务书题目 基于Struts2的宿舍管理系统 专业、班级学号 1501050211 姓名 主要内容:本系统基于Struts2框架,采用目前流行的B/S软件架构体系,以Eclipse为开发平台,TomCat为服务器,以J2EE为开发架构,MySql为后台数据库,系统可实现系统管理员登录增删改查宿舍楼、宿舍、宿舍管理员、学生等,同时宿舍管理员管理宿舍与学生的迁入迁出功能,学生可登录系统查看自己的个人信息、迁入迁出记录以及违纪情况。基本要求: 本次设计具有以下功能:1.系统管理员登录验证后可进行楼宇管理员管理,学生管理,楼宇管理,宿舍管理,学生迁入迁出、宿舍调换、缺寝以及系统管理员修改密码等功能。2.楼宇管理员登陆验证后可进行学生管理,学生缺寝记录,修改密码功能。3.学生登陆验证后可查看我的缺寝记录,修改密码功能。主要参考资料:1 李刚.轻量级JavaEE企业应用实战M.北京:电子工业出版社,20162 明目科技 JavaWeb从入门到精通M 北京:清华大学出版社 20163 单东林.张晓菲.魏然.锋利的jQuery.M北京:人民邮电出版社,2016 完 成 期 限: 指导教师签名: 课程负责人签名: 年 月 日摘要当今大学校园内的学生公寓,其数据量大,各种信息管理内容复杂,查询和管理学生信息和校园内的公寓信息等工作由人工完成将是很累的,不仅浪费了许多人力物力资源,而且还很容易出现差错,有一个软件对学生公寓管理不仅节省了人力物力,而且对各种信息的把握和操作也更加方便。 该学生宿舍管理系统主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。管理人员需要做的就是将数据输入到系统的数据库中去。经过分析,本系统运用了MySQL为后台数据库,以eclipse为前端开发工具,系统实现了房间管理、宿舍管理、信息维护、宿舍分配、信息查询等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校大学生宿舍管理。关键词:B/S; Struts2;mysql;学生宿舍管理系统;目 录摘要I1.前言11.1系统的现状11.2课题研究的目的和意义12.主要开发技术简介32.1 B/S软件架构32.2 Struts 232.3 J2EE32.4 Eclipse42.5 TomCat42.6 MySql43.系统分析53.1 系统概述53.2 需求分析53.3 可行性分析64.系统总体设计84.1总体设计概述84.2功能模块设计84.3数据库设计105.系统详细设计125.1系统架构125.2项目架构135.3项目架构配置Struts.xml135.4数据库操作类145.5界面介绍185.6部分功能代码276.小结307.参考文献311.前言1.1系统的现状目前,计算机管理信息系统逐渐普及,许多高校教学管理系统得到广泛应用,学生宿舍管理系统是管理系统的一种,是高校学生宿舍结合网络技术的应用例子。然而,针对高校学生宿舍管理而设计的管理系统十分少见,大多数高校的学生宿舍管理处于人工管理阶段,从管理角度来讲,有一定的缺陷和漏洞,对学生的具体情况,分布等等,不能及时查询,然而,由于手工操作,使得宿舍管理部门的工作人员的劳动量大,存在管理不及时、有一定误差的情况。随着高校信息化发展,人工管理方式必将被淘汰,宿舍工作需要一种新的管理方式。针对学校的实际情况,设计一套针对学生宿舍的管理信息系统是十分必要的。学生宿舍管理系统提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统-学生宿舍管理系统,来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。1.2课题研究的目的和意义1.2.1课题研究的目的学生宿舍管理信息量大,工作量大,采用人工管理方式容易出错,效率低,管理困难,已经不再满足办公自动化和信息化管理的需求。因此,结合学校实际需求,设计并实现学生宿舍管理系统,一方面是为了摆脱现阶段的人工管理方式,实现计算机处理和信息化管理,提高宿舍管理的效率,确保数据正确性,方便数据管理和维护;另一方面是为了满足现代化高校学生宿舍管理的需要,不但能够实现方便快捷的数据管理和维护,而且能够对今后改革和管理进行指导。运用信息技术对教学、学生工作进行管理,是提高工作效率的一种途径。1.2.2课题研究的意义为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统-学生宿舍管理系统,来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。它简化了手工处理的繁琐,提高了效率,确保数据正确性,方便数据管理和维护,使管理工作更加公平化、合理化和科学化。当今社会是知识经济时代,网络化和信息化是基本的存在形式,基于B/S模式的学生宿舍管理系统适应了知识经济时代的要求,充分发挥了人的智力,有效地利用了校园网等资源,促进了科技、经济和人的和谐统一。2.主要开发技术简介本系统基于Struts2框架, B/S软件架构体系,以windows 7为操作系统,适用于大部分电脑,以Eclipse为开发平台,TomCat为服务器,以J2EE为开发架构,MySql为后台数据库,开发出本系统。2.1 B/S软件架构B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。数据库服务器(数据层)客户端(表示层)服务器(应用逻辑层)图2-1 B/S体系结构B/S体系结构是一种三层结构,即表示层、应用逻辑层、数据层,如下图2-1所示:2.2 Struts 2Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。2.3 J2EEJ2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。J2EE组件和“标准的” Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (E JB )组件是运行在服务器端的业务组件。2.4 EclipseEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。2.5 TomCatTomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。2.6 MySqlMySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。3.系统分析3.1 系统概述本系统根据学生宿舍管理实际需求把学生宿舍管理系统的用户分为学生、楼宇管理人员、系统管理员。本系统主要具备的以下功能:刚入学的新生通过楼宇管理员添加新生信息,从而查看本人的相关信息,再使用本系统;学生具有修改个人资料,修改登录密码,查看我的缺寝记录;楼宇管理员人员具有对学生的增、删、改、查信息功能,可记录学生的缺寝记录,以及修改自己的登录密码;系统管理员具有楼宇管理,宿舍管理、学生管理、楼宇管理员管理,密码修改的功能。本系统是一个采用J2EE技术开发的JavaWeb应用系统,方便使用,简单快捷。本系统应该达到以下要求: (1)系统能够提供友好的用户界面,使操作人员的工作量最大限度地减少。(2)系统具有良好的运行效率,能够达到提高效率的目的。(3)系统具有良好的可扩充性,可以在原有的功能基础上进行扩充。(4)系统便于在任何服务器做到快速部署。3.2 需求分析3.2.1 功能需求对于本系统,用户的权限主要分为学生、楼宇管理员、系统管理员。(1)学生:登陆系统,查看本人的相关信息,修改本人信息,查看缺寝记录。(2)楼宇管理员:具有对学生的增、删、改、查信息功能,可记录学生的缺寝记录,以及修改自己的登录密码。(3)系统管理员:系统管理员具有楼宇管理,宿舍管理、学生管理、楼宇管理员管理,密码修改的功能。3.2.2 性能需求本系统由Web服务器和数据库服务器以及客户端(浏览器)组成,对软硬件环境的要求如下:(1)硬件环境l处理器:Intel Core i3或以上;l内存:1GB或以上;l硬盘空间:50GB以上。(2)软件环境l操作系统:建议采用Windows XP/Windows 7;l数据库:MYSQL 5.5;l浏览器:IE6.0或以上。操作系统对采用javaweb技术开发的本系统影响不是很大,但性能好的操作系统可以使系统运行得更加流畅,减少系统崩溃的可能性。3.3 可行性分析3.3.1技术可行性本系统是一个基于B/S模式的管理信息系统,随着Internet技术的快速发展,B/S模式的系统架构方式已经很成熟。采用JAVAEE技术,为基于Struts2应用实现动态交互网页提供技术环境支持,MYSQL数据库提供良好的数据存储和管理方式,这使得本系统的实施具有可行性。3.3.2经济可行性本系统对软硬件的要求不是很高,随着学校信息化管理水平的提供,学校拥有良好的硬件和软件环境,以及畅通的校园宽带,以现有的设备足以配置一个新的系统,并且十分方便,不需要购进新的硬件设备和软件而增加开支。计算机在校园中逐渐普及,学生可以在自己的电脑通过浏览器访问本系统,而无需购买特殊的客户端软件,使用系统很方便。此外,通过本系统开展学生宿舍管理,不必再用手工登记资料,避免人员浪费,也方便对数据的管理,为学生和管理员节省时间,提高了效率。3.3.3管理可行性学校已有管理信息系统应用的案例,学生和管理员使用这些管理软件不再是难事。本系统界面友好,操作简单,不需要对学生、管理员进行专门的培训便可掌握使用本系统。学校拥有专业的老师和管理人员,使管理和维护本系统成为可能。综上所述,学生宿舍管理系统充分利用了计算机软硬件资源和网络资源,技术成熟,成本低廉,操作简单,管理方便,使宿舍管理摆脱手工处理方式,实现自动化处理和信息化管理,因此,本系统的实施是可行的。4.系统总体设计4.1总体设计概述本系统采用三层架构,它将系统的功能单元分到三个逻辑层中,是为了便于开发项目后维护及变更的一种有效实用的架构模式,在各种B/S项目中被广泛的采用。学生宿舍管理系统的整体架构设计如图4-1所示:图4-1 学生宿舍管理系统整体架构设计本系统采用了三层架构,对其进一步细化分层,可得出如下的层次结构:数据访问层:主要是对数据的增、删、改、查操作,负责保存系统的数据,并当有请求时把它们发送给业务层。业务逻辑层:包含了项目中的业务逻辑,负责调用数据访问层中的方法实现业务的处理,并在表示层与数据访问层之间起到衔接的作用。表示层:用于显示数据和接受用户输入数据的一层,即为用户界面。在三层架构模型中,有一个很重要的约束是在层之间的数据传递必须遵从特定的顺序。表示层只能访问业务层,而永远不能直接访问数据层。4.2功能模块设计整体设计如图4-2所示。开始用户登录学生楼宇管理员系统管理员查看缺寝记录修改密码学生管理宿舍管理修改密码楼宇管理宿舍管理学生入住登记学生寝室调换学生迁出登记学生管理楼宇管理员管理学生缺寝记录修改密码迁出记录退出登录结束图4-2 学生宿舍管理系统整体设计4.3数据库设计本系统涉及的表主要有:图4.3.1 admin表图4.3.2 building表图4.3.3 domitory表图4.3.4 log表图4.3.5 out1表图4.3.6 student表图4.3.7 tb表图4.3.8 teacher表5.系统详细设计5.1系统架构三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚,低耦合”的思想。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。学生宿舍管理系统的系统架构图如图5-1所示:图5-1系统架构图5.2项目架构学生宿舍管理项目结构图如图5-2所示:图5-2学生宿舍管理项目结构图5.3项目架构配置Struts.xml< package name="strutsqs" extends="struts-default" namespace="/" ><action name="GoLogin" class="com.action.GoLogin"><result name="input">/Login.jsp</result><result name="success">/Index.jsp</result></action><action name="Quit" class="com.action.Quit"><result name="success">/Login.jsp</result></action><action name="PasswordUpdateSave" class="com.action.PasswordUpdateSave"><result name="input">/PasswordUpdate.jsp</result></action><action name="TeacherManager" class="com.action.TeacherManager"><result name="success">/TeacherManager.jsp</result></action></package></struts> 5.4数据库操作类5.4.1数据库连接import java.sql.*;public class DBHelper private String dbUrl="jdbc:mysql:/localhost:3306/sushe"private String dbUser="root"private String dbPassword="root"private String jdbcName="com.mysql.jdbc.Driver"/连接数据库public Connection getConn()Connection conn = null;tryClass.forName(jdbcName);catch(Exception e)tryconn=DriverManager.getConnection(dbUrl,dbUser,dbPassword);catch(SQLException ex)return conn;5.4.2对admin的数据库操作/验证登录public String CheckLogin(String username, String password)/验证密码public boolean CheckPassword(String id, String password)/获取列表public List<AdminBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic AdminBean GetBean(int id)/添加public void Add(AdminBean cnbean)/修改public void Update(AdminBean cnbean)/删除public void Delete(String strwhere)5.4.3对Building的数据库操作/获取列表public List<BuildingBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic BuildingBean GetBean(int id)/添加public void Add(BuildingBean cnbean)/修改public void Update(BuildingBean cnbean)/删除public void Delete(String strwhere)5.4.4对Domitory的数据库操作/获取列表public List<DomitoryBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic DomitoryBean GetBean(int id)/添加public void Add(DomitoryBean cnbean)/修改public void Update(DomitoryBean cnbean)/删除public void Delete(String strwhere)5.4.5对log的数据库操作/获取列表public List<LogBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic LogBean GetBean(int id)/添加public void Add(LogBean cnbean)/修改public void Update(LogBean cnbean)/删除public void Delete(String strwhere)5.4.6对out的数据库操作/获取列表public List<OutBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic OutBean GetBean(int id)/添加public void Add(OutBean cnbean)/修改public void Update(OutBean cnbean)/删除public void Delete(String strwhere)5.4.7对student的数据库操作/验证登录public String CheckLogin(String username, String password)/验证密码public boolean CheckPassword(String id, String password)/获取所有列表public List<StudentBean> GetAllList(String strwhere,String strorder)/获取列表public List<StudentBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic StudentBean GetAllFirstBean(String strwhere)/获取指定ID的实体Beanpublic StudentBean GetFirstBean(String strwhere)/获取指定ID的实体Beanpublic StudentBean GetAllBean(int id)/获取指定ID的实体Beanpublic StudentBean GetBean(int id)/添加public void Add(StudentBean cnbean)/修改public void Update(StudentBean cnbean)/删除public void Delete(String strwhere)5.4.8对tb的数据库操作/获取列表public List<TBBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic TBBean GetBean(int id)/添加public void Add(TBBean cnbean)/修改public void Update(TBBean cnbean)/删除public void Delete(String strwhere)5.4.9对teacher的数据库操作/验证登录public String CheckLogin(String username, String password)/验证密码public boolean CheckPassword(String id, String password)/获取列表public List<TeacherBean> GetList(String strwhere,String strorder)/获取指定ID的实体Beanpublic TeacherBean GetBean(int id)/添加public void Add(TeacherBean cnbean)/修改public void Update(TeacherBean cnbean)/删除public void Delete(String strwhere)5.5界面介绍5.5.1登录界面此界面运用了简单的表单提交方法,提交给ACTION身份、用户名、密码等信息,页面包括了系统管理员、楼宇管理员、学生登录的界面,根据身份不同,其功能也会不同。如图5.5.1所示。图5.5.1登陆界面部分代码:<form name="form1" action="GoLogin.action" method="post" onSubmit="return mycheck()"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" colspan="2" align="center" class="STYLE2"><span style="color:red;"> <%if(request.getAttribute("Msg")!=null)%> <%=request.getAttribute("Msg")%> </span></td> </tr> <tr> <td height="30" align="right" class="STYLE2">身份:</td> <td align="left"><select name="Type" id="Type"> <option value="">请选择</option> <option value="系统管理员">系统管理员</option> <option value="楼宇管理员">楼宇管理员</option> <option value="学生">学生</option> </select></td> </tr> <tr> <td width="37%" height="30" align="right" class="STYLE2">用户名:</td> <td width="300" align="left"><input type="text" name="Username" id="Username" class="text1" /></td> </tr> <tr> <td height="30" align="right" class="STYLE2">密码:</td> <td align="left"><input type="password" name="Password" id="Password" class="text1" /></td> </tr> <tr> <td height="30" colspan="2" align="center"><label> <input type="submit" name="button" id="button" value="登录" > </label></td> </tr> </table> </form>5.5.2系统管理员界面此界面由index.Jsp主页面包含left.Jsp合成系统管理员的功能界面。如图5.5.2所示。图5.5.2系统管理员界面部分代码:<table width="900" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="60" bgcolor="#cccccc" style="color:#666; font-size:25px; font-weight:bolder; padding-left:50px;">校园宿舍管理系统</td> </tr> <tr> <td height="30" background="Images/MenuBg.jpg"> </td> </tr> <tr> <td height="500" align="center" valign="top"><table width="900" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="191" height="500" align="center" valign="top" background="Images/leftbg.jpg"> <% include file="Left.jsp"%> </td> <td width="709" align="center" valign="middle" bgcolor="#F6F9FE"><h1>欢迎使用校园宿舍管理系统</h1> int count=com.action.SessionListener.getCount(); out.println("在线人数:"+count+"人"); </td> </tr> </table></td> </tr> <tr> <td height="35" background="Images/bootBg.jpg"> </td> </tr> </table>5.5.3楼宇管理员界面此界面由index.Jsp主页面包含left.Jsp合成系统管理员的功能界面。有后台首页、学生管理、学生缺寝记录、修改密码、退出系统等功能组成。如图5.5.3所示。图5.5.3楼宇管理员界面5.5.4学生界面此界面由index.Jsp主页面包含left.Jsp合成系统管理员的功能界面。有后台首页、我的缺寝记录、修改密码、退出系统等功能组成。如图5.5.4所示。图5.5.4学生界面5.5.5所有功能界面介绍(1)楼宇管理员界面如图5.5.5.1所示。图5.5.5.1楼宇管理员界面(2)学生管理界面如图5.5.5.2所示。图5.5.5.2学生管理界面(3)楼宇管理界面如图5.5.5.3所示。图5.5.5.3楼宇管理界面(4)宿舍管理界面如图5.5.5.4所示。图5.5.5.4宿舍管理界面(5)学生迁入迁出管理界面如图5.5.5.5与图5.5.5.6所示。图5.5.5.5学生迁入管理界面图5.5.5.6学生迁出管理界面(6)学生缺寝管理界面如图5.5.5.7所示。图5.5.5.7学生缺寝管理界面(7)修改密码界面如图5.5.5.8所示。图5.5.5.8修改密码界面(8)退出界面如图5.5.5.9所示。图5.5.5.1退出界面5.6部分功能代码5.6.1系统管理员登录验证/创建session对象HttpSession session = ServletActionContext.getRequest().getSession();/验证是否正常登录if(session.getAttribute("id")=null)out.print("<script language='javascript'>alert('请重新登录!');window.location='Login.jsp'</script>");out.flush();out.close();return null;/查询楼宇buildinglist=new BuildingDao().GetList("","Building_Name");/查询条件String strWhere="1=1 "if(!(isInvalid(BuildingID)strWhere+=" and Domitory_BuildingID='"+BuildingID+"'"elsestrWhere+=" and 1=2"/查询宿舍