毕业设计论文--基于SH架构的学生信息管理系统
摘要毕业设计论文题 目基于SH框架的学生信息管理系统作 者邓泳国院 (系)电子与通信工程学院专 业计算机网络技术指导教师张喜生答辩日期2013年 6月 5日摘 要本系统是根据学生信息录入的特点,根据每个班级的实际情况,为各个班级设定特定的系统方案,各班级可根据自己的情况选择适合自己的方案,因此,该系统具有较强的实用性和针对性。本论文介绍了管理系统开发的全过程,主要从系统开发的原因和目标、系统的开发环境和开发工具、系统的整体规划、系统的具体实现和体会等方面对本系统加以论述。本文采用了当今比较流行的框架Struts + Hibernate的系统结构,通过介绍Struts的MVC结构、基本组成和结构以及Hibernate的基本对象,并将三种框架技术整合起来应用到系统中,给出一个具体的实例配置,前端采用Struts的MVC框架,底层采用Hibernate,最后对这次设计做了一个总结.关键词: Struts Hibernate MVCIII目录ABSTRACTThis system is based on the student information entry, according to the actual situation of each class for each class to set a specific system solutions, each class can choose their own programs according to their own situation, therefore, the system has strong practicaland targeted. This paper introduces the management system development process, and discusses the main reasons and goals from the system development, system development environment and development tools, the overall planning of the system, the concrete realization of the system and the experience of other aspects of the system.In this paper, using today's more popular framework Struts + Hibernate system structure, Struts MVC structure, basic composition and structure as well as the basic object of Hibernate, and three frameworks integrate applications into the system, given a specific instance configuration, the front-end using Struts MVC framework, underlying Hibernate Finally, a summary of this design.Keywords:Struts Hibernate MVC毕业论文目 录摘 要IIIABSTRACTII目 录31 绪论31.1当前趋势32 系统概述52.1开发该系统的原因52.2 该系统的基本目标52.3 开发环境以及开发工具介绍52.3.1 软件环境52.3.2 硬件环境62.2.3 Hibernate简介62.2.4 Struts2简介73 系统整体规划93.1 数据表的设计93.2系统简介94 系统具体实现94.1 主要代码设计94.2 具体的实现104.2.1 Hibernate的应用104.2.2 Struts 的应用12总结151 绪论1.1当前趋势随着高校网络信息建设的逐步深入,我国的校园信息技术正面临一个前所未有、迅猛发展的大好局面。2002年9月,教育部发布了教育管理信息化标准,标志着我国教育管理信息化建设开始朝标准化、规范化的方向发展。在高校管理信息化的进程中,除了校园办公自动化以外,一套学生信息管理系统已经成为校园管理高效、实用的重要体现。学校希望提高对学生管理水平,实现对学生的统计分析等各管理环节的自动化,减轻管理员的工作量,通过使用学生信息管理系统的方式,提高管理学生的工作效率,调动起管理学生的积极性1。传统的高校对学生的管理模式使管理存在信息不畅、效率低下、操作不规范等一系列问题,而基于网络的高校学生信息管理系统很大程度上缓解了这方面的问题和压力,改善了以往学生每人一张报表的情况,简化了管理人员的工作步骤,拉近了学生与主管老师的距离,提高了管理学生的工作效率,为学校实现了真正的信息化管理。学生管理是高等学校管理的基础,由于学生人数众多,学生信息管理的工作量是非常大的,在成绩和学籍管理的过程中要填写大量的表格,还需要对这些数据进行统计分析,迫切需要引进计算机技术加以改进。近年来,随着因特网以及校园网的日益普遍,通过网络和Web方式可以实现网上管理,方便学生使用,也可以大大提高工作效率2。随着信息和网络技术在社会各个领域的广泛开发、推广和运用,网络已迅速覆盖全球,信息花成为时代的主流。高校的学生管理工作也顺应潮流,在信息化建设方面逐渐加大力度,并已在硬件、软件等领域中取得一定成绩3。信息化建设给高校学生管理工作带来的将会是一个更高效、更科学、更合理的运作模式。但是从目前的建设情况来看,在观念意识的转变、软件的开发应用以及队伍建设等方面仍存在不少亟待解决的问题。随着中国高等教育招生规模的日益扩大,采用传统的学生信息管理方法(如直接手工管理或者开放性程度不高的管理系统)不可避免的浪费大量人力、物力、财力资源,逐步不能满足当前高等教育发展的需求,已经成为我国高等教育扩大规模的“瓶颈”。高校的学生管理工作是高校各项工作的一个重要部分,其管理水平的高低将直接影响到人才的培养质量。高等教育的发展,高校规模的扩大,学生人数的增加,对学生各种信息的汇总、统计、分析等管理工作面临着很多困难。2 系统概述2.1开发该系统的原因在现行的学生信息管理系统中,从信息的角度看,信息的种类多(比如:学生信息、专业信息、院系信息等),而现在的大部分的高校还是靠手工管理方式管理,这样对学校的管理会带来很大的困难。目前,一些学生信息管理系统都是基于c/s结构的,它增加了客户端的管理维护,也不利于移动办公。而开发学生信息管理系统能够适应大部分学校的需要,可以方便管理用户添加、查询、和打印学生信息、院系信息、学生成绩、课程信息、班级信息等功能。如果本系统能被学校所采用,将会改变以前靠手工管理学籍信息的状况,可以树立良好的办学形象,提高工作效率。2.2 该系统的基本目标使得学生的信息管理工作更加清晰、条理化、自动化。易于进行学生、院系、班级。易于进行课程、用户设置。很容易地完成新生学籍信息的输入。2.3 开发环境以及开发工具介绍2.3.1 软件环境操作系统要求:64位微软操作系统浏览器版本要求:IE6以上。开发平台:MyEclipse 8.5 数据库:MysqlWEB服务:Tomcat6.0主要技术: Hibernate、Struts2.02.3.2 硬件环境处理器:1.5GHz主频以上 硬盘:320G以上内存:512MB以上。2.2.3 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。Hibernate对象关系映射提供延迟的与非延迟的对象初始化。非延迟加载在读取一个对象的时候会将与这个对象所有相关的其他对象一起读取出来。这有时会导致成百的(如果不是成千的话)select语句在读取对象的时候执行。这个问题有时出现在使用双向关系的时候,经常会导致整个数据库都在初始化的阶段被读出来了。当然,你可以不厌其烦地检查每一个对象与其他对象的关系,并把那些最昂贵的删除,但是到最后,我们可能会因此失去了本想在ORM工具中获得的便利。一个明显的解决方法是使用Hibernate提供的延迟加载机制。这种初始化策略只在一个对象调用它的一对多或多对多关系时才将关系对象读取出来。这个过程对开发者来说是透明的,而且只进行了很少的数据库操作请求,因此会得到比较明显的性能提升。这项技术的一个缺陷是延迟加载技术要求一个Hibernate会话要在对象使用的时候一直开着。这会成为通过使用DAO模式将持久层抽象出来时的一个主要问题。为了将持久化机制完全地抽象出来,所有的数据库逻辑,包括打开或关闭会话,都不能在应用层出现。最常见的是,一些实现了简单接口的DAO实现类将数据库逻辑完全封装起来了。一种快速但是笨拙的解决方法是放弃DAO模式,将数据库连接逻辑加到应用层中来。这可能对一些小的应用程序有效,但是在大的系统中,这是一个严重的设计缺陷,妨碍了系统的可扩展性。2.2.4 Struts2简介虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVAEE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。以下是Struts2的