必赢3003手机网页版-必赢亚州626网站-首页

欢迎进入必赢3003手机网页版-必赢亚州626网站-首页网站
全国服务热线
400-803-7033
技术支撑
主页 > 技术支撑 >
基于struts和Hibernate的学生考勤系统的设计
时间: 2019-11-22 13:14 浏览次数:
关键词: 学生考勤 mvc struts hibernate 摘 要: 为克服手工处理学生考勤信息的缺点,采用JAVA环境下实现MVC设计模式的struts框架和实现数据持久化的Hibernate框架开发基于Web的学生考勤管理
关键词:学生考勤 mvc struts hibernate
摘 要:为克服手工处理学生考勤信息的缺点,采用JAVA环境下实现MVC设计模式的struts框架和实现数据持久化的Hibernate框架开发基于Web的学生考勤管理系统。在struts和Hibernate中添加DAO设计模式和业务代理模式来进一步提高系统的维护性和可扩展性。探讨了如何结合PowerDesigner和Myeclipse等工具快速开发应用系统。

1、MVC设计模式设计模式概述

1.1 MVC设计模式

MVC设计模式是一种著名的App开发设计模式,它是模型、视图、控制器(Mode1.View.Controller)缩写。模型封装了用户数据和处理数据的业务逻辑;视图提供了用户界面,将用户输入数据传递给控制器或将模型数据显示给用户;控制器连接了模型和视图,判断请求交给哪个模型,调用视图显示模型处理用户请求结果。

MVC设计模式将应用程序进行了分层,视图和模型通过控制器连接,从而减少了用户界面和业务逻辑之间的耦合,使程序设计更加清晰、灵活,也提高了App的可扩展性、可维护性。

1.2 Struts框架

Struts是基于的MVC模式应用框架,遵守了J2EE的Servlet、JSP等技术规范,并且根据J2EE的特点做了相应的变化和扩展,是J2EE体系架构的一种轻量级实现。

在Struts框架中,控制器由ActionServlet和Action类以及Struts.config.xml配置文件实现。ActionServlet是Struts框架的核心控制组件, 所有的用户请求都被映射到ActionServlet, 由ActionServlet根据配置文件中的定义将控制转移到指定的Action类。Action类是用户请求与业务逻辑之间的桥梁,它实行一个execute()方法并返回一个ActionForward对象,当ActionServlet接收到该对象后,根据Struts config.xml中的配置信息将请求转发。Struts框架中的视图主要由JSP页面组成。ActionForm是Struts在视图层的一个核心组件,它是专门用来在视图层和控制层之间传递表单数据的DTO(Dam Transfer Object,数据传输对象),它还包括了用于数据验证的validate()方法和用于数据复位的reset()方法。]在Struts应用程序中,开发人员可以选择JavaBean、Hibernate、EJB等组件来实现Struts框架中的模型。

2.Hibernate持久化技术

Hibernate是一个基于Java的开放源代码的O/R Mapping(对象关系映射框架),它通过其强大的O/R映射功能JAVA对象同存于关系数据库中的数据进行映射,并对JDBC进行了轻量级的对象封装,可以使JAVA程序员方便地使用对象编程思维来操纵数据库,它不仅提供ORM映射服务,还提供数据查询和数据缓存的方法,可以提高查询和处理数据的效率。它是一种提供面向对象的数据库服务中间件。

3.基于Struts和Hibernate的考勤管理系统的设计

随着教育部对在校大学生出勤的相关规定出台,各大专院校加大了对学生考勤的管理力度,但大部份都采用手工处理的方法,工作量大且效率低。本系统能够实现网上对学生考勤信息进行添加、删除、修改、查询和统计功能,管理人员能及时了解学生出勤情况和某课班级某课程的出勤情况。在开发的过程中,使用PowerDesigner作为CASE工具,采用对Hibernate和Struts提供良好支撑的Myeclipse 6.0作为系统的开发环境,数据库采用MYSQL5.0,WEB服务器采用jakarta Tomcm6.0并安装了JDK6.0。

3.1数据库层的设计

PowerDesigner是Sybase企业的CASE工具集,使用它可以方便地对管理信息系统进行分析设计。DataArchitect模块是Powerdesigner的核心工具,它采用二级数据建模方式,即概念级和物理级。在概念级,概念数据模型(CDM)代表业务信息需求,不考虑在数据库上的物理实现,通过它可以绘制系统的实体联系图(E.R图),即系统的静态特征;在物理级,物理数据模型(PDM)指定了物理实现的目标RDBMS的特征等细节。它可以生成数据库脚本,通过选择ODBC方式则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。它与其它设计App相配合使用可以缩短开发时间和使系统设计更优化。

在本系统的设计过程中,大家利用PowerDesigner来完成系统数据库概念设计和MYSQL数据库表的工作。首先,在PowerDesigner中设计系统的概念层次的数据模型,通过它的CDM 功能创建实体关系图来描述系统的数据组织结构。通过它的“检查模型”功能,校验概念数据模型中实体、实体属性、实体标识和实体间关系等是否存在问题。接着,选择MYSQL作为系统的目标数据库,生成在MYSQL上实现的数据库的物理数据模型(PDM):最后,通过“产生数据库”功能,并选择ODBC方式连接到指定的数据库,从而直接产生MYSQL上的数据库表以及其他数据库对象。

3.2 持久化层的设计

数据持久层基于Hibernate架构,采用了DAO设计模式和抽象工厂设计模式。下面以学生类(Student)为例进行说明。首先,把学生信息封装为VO(Value Object)。VO是一组值对象,只包含了一些属性和getter/setter方法的POJO(Plan Old Java Bean) 。然后,采用DAO设计模式和抽象工厂设计模式,完成DAO工厂和Hibernate数据库操作的具体实现。最后,利用Hibernate的配置文件完成从应用程序到数据库的映射。

在Myeclipse开发环境中,首先配置数据库服务器的连接,然后利用Myeclipse的Hibernate的逆向工程,可以自动完成持久化层的设计任务。例如对学生表(student)进行逆向工程, 将会自动生成Student.iava、AbstractStudent.iava、StudentDAO.iava、Student.hbm.xml等文件。其中,Abstract Student.iava就是一个封装了Student信息的VO。Student DAO.java采用DAO模式封闭了数据库操作。

在hibemate.cfg.xml配置文件中,定义了符合SQLServer规范的dialect方言,连接池访问数据库的URL资源定位地址以及数据库名称kq, 数据库连接驱动程序,Hibernate管理事务、是否显示SQL语句。在mapping映射文件配置部分,定义了教师表(Teacher)、学生表(Student1、考勤表(Attendance)等对应的映射文件等。在该层的设计中,VO的信息封装体现了面向对象设计编程思想;DAO的设计模式和抽象工厂模式减弱了上层调用和具体实现之间的耦合;Hibemate配置实现了数据库高移植性,只需要改变Hibemate配置文件,不用修改程序设计就可以完成不同数据库之间的更换。

3.3 业务逻辑层设计

业务逻辑层包含了供客户端程序调用的业务逻辑规则,以帮助客户端完成业务操作。该层采用业务代理、DAO和抽象工厂设计模式使用业务代理、DAO和抽象工厂设计模式,可以使业务逻辑更加灵活,如果具体业务发生变化,在表示层和数据持久化层改变很小就可以完成改变,这种设计能够增强系统的可维护性和灵活性。

3.4 表示层设计

首先,建立用于用户输入和浏览的JSP视图页面和封装用户表单信息的ActionForm。接着,搭建用户请求和业务逻辑之间的桥梁——Action组件,该组件负责把用户信息和具体的业务逻辑处理联系在一起。

最后,通过Struts配置连接ActionForm和Action,完成一个业务设计。该层设计中,采用页面设计和表示层业务逻辑分离,提高了应用程序的可维护性。

4.总结

本文先容了MVC设计模式以及Struts和Hibernate框架的工作原理,利用了他们的优点互补,有机地将Struts+Hi.bernate框架结合起来构建了一个学生考勤管理系统,利用DAO设计模式、业务代理模式等克服了传统Web信息系统的缺点,提高了系统的可维护性、可扩展性,降低了系统的耦合性。通过使用Powerdesigner和Myeclipse等开发工具能够有效的加快开发速度和效率,大大减少开发人员的手工编写代码的工作量。随着本系统的应用,教师可以随时随地上报出勤情况,管理人员可以随时了解每门课程每个班级和每个学生的出勤情况,本系统通过汇总功能产生因出勤率低而取消考试资格的学生名单。这对提高教务管理工作效率意义较大。 


?

Copyright ??必赢3003手机网页版-必赢亚州626网站-首页 版权所有
全国服务电话:400-803-7033 ? 电话:0371-63982092 18039506756 15038143033 13849067393
企业地址:河南省郑州市高新区西四环228号企业公园12号楼10层 ? 网站地图 ? 汇泰科技

必赢3003手机网页版|必赢亚州626网站

XML 地图 | Sitemap 地图