第8章S基于Struts2+Hibernate的教务管理系统项目实训.ppt
- 格式:pptx
- 大小:5.14 MB
- 文档页数:22
基于Struts和Hibernate的教务系统设计与实现摘要:struts和hibernate是当前j2ee开发中最流行和使用最多的两个框架。
本文借助于java web开发中的这两框架提出了新的教务管理系统模式,实现了程序的良好扩展性,提高了开发的效率,具有一定的实际应用价值。
关键词:strutshibernate框架1 概述随着计算机网络技术的发展和广泛应用,传统的手工教务管理和简单的计算机辅助办公已无法满足教务管理人员的需求,使得教务管理系统的开发成为高校管理的必然趋势。
本文借助于当前j2ee开发中最流行和使用最多的struts和hibernate框架提出了新的教务管理系统模式,实现了程序的良好扩展性,提高了开发的效率,在技术研究方面对教务管理系统的不断发展有着一定的意义。
2 系统体系结构针对不同的登录用户,他们拥有不同的权限,能对系统进行各自的操作,结合高校实际情况,本系统体系结构如下:2.1 系统结构①学籍管理:管理员能导入学生的基本信息,增加修改班级、对学生的基本信息进行修改删除、对学生的学籍异动进行处理、学生学籍信息的分析和统计功能等。
②教学计划管理:管理员对教学计划的导入,教务管理人员对教学计划的审批查询、生成教学计划教师查看,教师的教学进程表的制定和审批、教学日历管理等。
③开课管理:教务管理员生成教学任务书、教学安排表,开课通知单等教学文档,生成学生课表、班级课表、任课教师的管理、特殊时间的安排等。
④排课管理:包括排课参数设置、教师教室学生设置、自动排课处理、排课漏课处理、课表冲突处理、空闲信息处理等,生成班级课表,教师课表,全校总课表等。
⑤选课管理:此项只针对有选修课程的学院,我院正在逐步完善中。
应该包括公共课选修管理、专业课选修管理、选课控制和安排、生成学生选课情况表,学生课表管理、选课课表管理、选课的课程统计分析等功能。
⑥教学评估:改功能为学生用户、教师用户、其他用户使用,具有学生评教情况管理、教师评学管理、同行教师评教管理、企业专家用户评教等功能。
DOI:10.19392/ki.1671-7341.201822062基于Struts 2和Hibernate 实验室管理系统的设计与实现袁宏杰㊀石㊀爽㊀康彦丛㊀刘也畅石家庄邮电职业技术学院㊀河北石家庄㊀050021摘㊀要:Struts 2是一个用来快速生成Model 2应用程序的框架,而Model 2是基于MVC 模式的㊂用Struts 可简化Web 应用的开发,增加了软件重用率,解决了信息系统中开发效率㊁降低成本㊁可扩展性㊁灵活性等问题㊂关键词:Struts2;MVC ;Hibernate 信息系统㊀㊀基于Struts 框架开发出来的Web 应用,越来越成熟,系统更灵活,并利用后期维护和管理㊂Struts2开发更适合于团队协作开发,开发成员可以按层开发,分工更加合理㊂1实验室管理信息系统的总体需求实验室管理信息系统的总体需求,能够实现排课管理㊁实验室日常运行管理㊁实验室设备管理㊁实验室人员管理㊁实验室耗材管理㊂整体功能结构图如下:图1实验室管理信息系统功能结构图2实验室管理信息系统的技术架构实验室管理信息系统系统基于Struts2和Hibernate 提供了开发基于MVC 应用模式的开源框架进行设计,Struts 实现了MVC 的各项特性,并将其应用于Web 应用开发中㊂Struts 提供的组件由3个部分,包括模型层㊁视图层和控制器,在模型层与Hibernate 框架耦合,实现对数据的松耦合和持久化访问㊂实验室管理信息系统的技术架构如下图所示图2实验室管理信息系统技术架构图3实验室管理信息系统数据库设计数据库设计是指根据用户的需求,构造最优的数据库模式,最终设计出数据库的结构和建立数据库及其应用系统的过程㊂根据功能模块的划分,系统功能设计的要求,本系统采用My SQL 设计㊂图3实验室计划E-R 实体图4实验室管理信息系统技术实现系统设计成四架构模式,表示层(Viewer),控制层(Control-ler),服务层(DAO)和数据持久层(DataPersistence)㊂下面分别介绍它们的实现方式㊂4.1表示层技术实现表示层主要采用Ajax(Asynchronous JavascriptAnd XML,异步JavaScript 和XML)和标签库㊂首先客户端初始化请求参数后转发给业务逻辑层,最后将处理结果返回至客户端㊂系统采用Struts2标签库(Struts-tags)和ONGL 表达式来实现表示层的开发,在JSP 文件中通过<%@taglibprefix = s uri = /Struts =tags %>引入标签库㊂4.2控制层的实现控制层是Struts2框架的核心组件,主要由Action 类文件组成㊂Struts2控制器有两部分,StrutsPrepareAn-dExecuteFilter 和业务控制器Action㊂排课模块控制类为PaikeAction.java㊂实验室管理员点击JSP 视图页面的排课请求后,系统首先通过Request 对象到达系统的业务逻辑层,最终转交给在Struts.xml 文件中配置的paike.Action,一旦返回该Action,则会在配置文件中查找相应的Result㊂这些页面和ActionMapper 一起通过Response 对象返回给排课请求的URL㊂本模块的控制层过程如下图:图4排课模块的流程控制图4.3业务逻辑层的实现在业务逻辑层,每个业务涉及到的持久层对象和数据访问对象(DAO)㊂业务逻辑层被设计在DAO 层之上,系统中会存在多个DAO 类,而业务逻辑类只有一个,在本系统被设计成了一个接口,通过实现该接口来用于视图组件与控制组件之间传递数据㊂业务逻辑层有两个文件,ExamService.java 及其实现类ExamServiceImpl.java㊂如图所示:图5业务逻辑层的图4.4数据持久层的实现实验室管理信息系统的DAO 层实现是通过Hibernate API 来实现公共的DAO 接口,首先取得当前进程的Session 对象,利用Session 对象开始一个事务得到持久化对象,最后提交事务,关闭Session㊂DAO 层调用Hibernate 提供的各种方法,用于实现系统业务逻辑时,将数据(对象)进行持久化操作㊂86电子信息科技风2018年8月本系统通过DAO与ORACLE数据库相连,所有配置及连接参数保存到hibernate.cfg.xml文件中㊂5系统实现的关键开发策略(1)为了提高系统的运行效率,减少客户端与应用服务器的频繁交互,将一些校验放到了页面上进行校验,校验完成后,如果有错误立即反馈给用户,否则再提交服务器完成后续流程㊂(2)系统采用插件实现异步提交的数据,减少了因部分页面修改要刷新全部页面的操作,减轻了CPU的竞争㊂(3)改变了一个HTTP表单㊁ACTION㊁ActionForm一一对应的关系,利用多个HTTP表单对应一个ActionForm和Action,将不同的业务数据,调用同一个Action的不同方法实现,使程序流程更加清晰简练,便于后期维护管理㊂6结语本研究内容是一个基于MVC模式的B/S架构在实验室管理系统的设计方法及具体实现过程,该系统采用Java EE主流框架Struts2与Hibernate作为技术路线,同时采用了开源插件,实现了应用数据在各层之间的低耦合高内聚,提高了系统的可用性和可扩展性㊂参考文献:[1]范新灿.基于Struts㊁Hibernate㊁Spring架构的Web应用开发[M].北京:电子工业出版社,2014.09.[2]李刚.轻量级Java EE企业应用实战[M].北京:电子工业出版社,2014.10.[3]梁胜彬,乔保军,李小丽,王金科,渠慎明,史蕊,王龙葛.Java Web应用开发与实践[M].北京:清华大学出版社, 2016.09.﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏(上接第56页)式中,为声学形变势,为GaN的质量密度,为声速㊂声学形变势散射是由于纵声学波引起晶体体积周期性膨胀和压缩,从而导致带边周期移动而引起的散射㊂声学形变散射随着温度的升高而增加㊂4结论GaN基器件中2DEG迁移率的大小直接影响着器件的电学性能,所以很多研究者都在寻找提高2DEG迁移率的方法㊂本文总结了描述2DEG的平衡方程以及GaN基器件中2DEG 所受到的主要的散射机制㊂并分析了各种散射机制随着参数及环境的变化㊂在室温下,极性光学声子散射为主要的散射机制;而低温和低2DEG下电离杂质散射和位错散射起主要的作用;在低温和高2DEG浓度下,声学形变势散射和界面粗糙度散射为主要散射机制㊂而AlGaN/GaN/AlGaN双异质结器件中,由于背势垒层AlGaN的作用,强化了电子气的量子限制作用㊂大大降低了杂质散射和位错散射,因此双异质结器件中2DEG的迁移率要比单异质结器件中高很多,其电学性能及可靠性都有所提高㊂参考文献:[1]常永明,毛维,郝跃.一种改进的AlGaN/GaN HEMT全局直流模型[J].微电子学,2017(47).[2]张明兰,王晓亮,杨瑞霞,胡国新.AlGaN/GaN HEMT中电场分布的ATLAS模拟[J].半导体技术,2010(35).[3]薛舫时.氮化物异质结电子气的二维特性和迁移率[J].固体电子学研究与进展,2007(27).[4]董逊,等.AlGaN/GaN/AlGaN双异质结材料生长及性质研究.固体电子学研究与进展,2011(31).项目基金:黔科合LH字[2014]7181号作者简介:张子砚(1979-),女,甘肃白银人,硕士,讲师,微电子学与固体电子学㊂﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏(上接第65页)3总结GNSS技术的应用为测绘人减轻了测绘难度,就本次雅安测区而言,测区位于山区而且地势复杂,遮挡度高,如果用传统测量将会费时费力,而应用GNSS技术我们很好的解决了一些复杂的问题,并且提高了作业效率㊂另外此次雅安道路工程中我们同时使用了多台GNSS接收机,从多个测区㊁多个方向同时进行,极大地缩短了作业工期,降低了作业成本㊂此次项目,我们应用了GNSS技术,较快的完成了项目任务,并取得了较好的成果,该成果已上交并投入了工程实际使用㊂技术带动发展, GNSS技术的成熟带动了测绘行业的发展,同时测绘行业的发展也给测绘人带来了新的生机和活力㊂参考文献:[1]马淘淘.GPS-RTK小区域测量精度研究[D].西安:西安科技大学,2013.[2]张冠军,张志刚,于华.GPSRTK测量技术实用手册[M].北京:人民交通出版社股份有限公司,2014.12:12-15.96㊀科技风2018年8月电子信息。
基于Struts的教务治理系统的设计与实现XX:1007-9599 (20XX)16-0000-031 概述教务治理系统是为了适应当代高校教育教学的要求开发的一套系统,因近年来高校招生规模的不断扩大,在校人数的不断增加,给教学治理带来很很大的压力,因此在开发的过程中注意高校信息的整合,提升教学治理的效率,同时为了适应不断进展的教育教学要求,本系统在设计上应本着系统优化,易于扩展的原则,采纳Jv语言编写,运用流行的J2EE技术开发进行开发。
底层架构借鉴成熟的商业架构,在系统资源安全性上采纳filter 技术对系统资源进行保护,强制用户需要登录系统方能操作系统,在操作安全性上采纳“用户-角色-权限”方式,将每个操作对应到权限上,然后将这些权限集中到一个角色中,只要用户拥有这个角色就能进行相应的操作。
并且系统对用户每个操作都会进行记录,以防止系统资料被非法篡改。
在扫瞄方式上,本系统采纳B/S结构,用户只要一个扫瞄器即可实现教学治理系统的登录和操作,更新系统时,治理员只要更新一台服务器即可实现整个系统的更新,大大减轻了系统维护的工作量。
2 系统设计2.1 系统需求教务系统是为学校提供一个方便有效的治理平台,提高治理效率,降低治理风险,它需要涵盖高校日常的教学治理工作和整合高校的基础信息,实现整个校园数据的共享性和高效性。
因此教务治理系统应该完成如下功能:系统治理:该模块的功能是对系统的监控和底层菜单的治理,包括账号治理,系统登录日志,操作日志的治理,以及整个系统菜单的维护。
权限治理:该模块功能是对系统的角色,权限,以及用户的授权进行治理。
基础设置:用于维护整个教务系统正常运行所需的基础数据集,以保证教务系统有一个统一的边准的基础数据集,用于数据的共享使用,功能包括:代码维护、教学部门设置、教学场地设置、课程设置、专业设置、班级设置、信息设置、数据导入等。
学生治理:主要包括了新生注册已经学生基本信息的录入以及学籍的治理。
《J2EE系统架构和程序设计》课程设计实训项目——基于Struts + Hibernate框架技术的在线考试系统设计和实现1.1.1在线考试系统设计1、系统概述由于这次实训也做了一个web在线考试系统,所以把这次实训的整个过程记录下来,完成实用开发技术的这个大作业。
经过一个学期的实用开发技术的学习,使我了解到了一些比较流行的开发技术,也在实践中锻炼了自己。
在线考试系统主要功能是提供一个在线的考试平台,教师可以利用此平台输入试卷,学生可以选择试卷考试,另外,系统也提供用户管理功能。
系统总体用例如下图所示。
2、系统总体用例3、系统模块划分为方便系统的功能实现,系统模块按业务功能与平台功能划分为如下几个模块,以包的形式加以区分:4、设计系统的DAO组件为业务层提供通用数据访问接口,本系统采用一般DAO实现模式,现样,为了减少耦合度,采用了工厂模式,客户端要得某个具体DAO实现类,必须通过工厂类。
5、设计系统中的用户信息管理相关的程序类6、设计系统中的试卷信息管理相关的程序类7、分别根据用户设计模块和试卷功能模块设计对应的数据库表结构(1)权限相关表设计(2)用户相关表设计(3)试卷相关表设计8、创建数据库表的过程和文档drop table if exists tbl_admin;drop table if exists tbl_class;drop table if exists tbl_question;drop table if exists tbl_student;drop table if exists tbl_teach;drop table if exists tbl_teacher;drop table if exists tbl_test;create table tbl_admin(adm_id int not null auto_increment, adm_name varchar(10),adm_password varchar(15),primary key (adm_id));create table tbl_class(cls_id int not null auto_increment, cls_name varchar(20),primary key (cls_id));create table tbl_question(qst_id int not null auto_increment, tst_id int,qst_title varchar(100),qst_answer char(1),qst_score int,primary key (qst_id));create table tbl_student(stu_id int not null auto_increment, cls_id int,stu_name varchar(10),stu_password varchar(15),primary key (stu_id));create table tbl_teach(tch_id int not null,cls_id int not null,primary key (tch_id, cls_id));create table tbl_teacher(tch_id int not null auto_increment, tch_name varchar(10),tch_password varchar(15),primary key (tch_id));create table tbl_test(tst_id int not null auto_increment, tch_id int,tst_name varchar(15),tst_time varchar(10),primary key (tst_id));alter table tbl_question add constraint FK_has foreign key (tst_id)references tbl_test (tst_id) on delete cascade on update cascade;alter table tbl_student add constraint FK_belong_to foreign key (cls_id)references tbl_class (cls_id) on delete cascade on update cascade;alter table tbl_teach add constraint FK_teach foreign key (tch_id)references tbl_teacher (tch_id) on delete cascade on update cascade;alter table tbl_teach add constraint FK_teached_by foreign key (cls_id)references tbl_class (cls_id) on delete cascade on update cascade;alter table tbl_test add constraint FK_test foreign key (tch_id)references tbl_teacher (tch_id) on delete cascade on update cascade;9、在数据库表中添加测试相关的测试数据insert into tbl_teacher (tch_id, tch_name, tch_password) values (0, 't1', 't1'); insert into tbl_teacher (tch_id, tch_name, tch_password) values (0, 't2', 't2'); insert into tbl_admin (adm_id, adm_name, adm_password) values (0, 'admin','admin');insert into tbl_class (cls_id, cls_name) values (0, 'class1');insert into tbl_class (cls_id, cls_name) values (0, 'class2');insert into tbl_test (tst_id, tch_id, tst_name, tst_time) values (0, 0, 'addition', '60');insert into tbl_test (tst_id, tch_id, tst_name, tst_time) values (0, 1, 'subtration', '60');insert into tbl_test (tst_id, tch_id, tst_name, tst_time) values (0, 0,'multiplication', '60');insert into tbl_test (tst_id, tch_id, tst_name, tst_time) values (0, 1, 'division', '60');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 0, '11+1=12','1', '3');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 0, '13+21=32','0', '3');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values(0, 1, '11-1=10','1', '3');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 1, '20-0=19','0', '3');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 2, '10*0=0','1', '5');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 2, '11*1=12','0', '5');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 3, '11/1=11','1', '5');insert into tbl_question (qst_id, tst_id, qst_title, qst_answer, qst_score) values (0, 3, '13/2=5.5','0', '5');insert into tbl_student (stu_id, cls_id, stu_name, stu_password) values (0, 0, 'xrj', 'xrj');insert into tbl_student (stu_id, cls_id, stu_name, stu_password) values (0, 0, 'ljk', 'ljk');insert into tbl_student (stu_id, cls_id, stu_name, stu_password) values (0, 1, 'zcj', 'zcj');insert into tbl_student (stu_id, cls_id, stu_name, stu_password) values (0, 1, 'dwy', 'dwy');insert into tbl_student (stu_id, cls_id, stu_name, stu_password) values (0, 1, 'zlt', 'zlt');insert into tbl_teach (tch_id, cls_id) values (0, 0);insert into tbl_teach (tch_id, cls_id) values (0, 1);insert into tbl_teach (tch_id, cls_id) values (1, 0);insert into tbl_teach (tch_id, cls_id) values (1, 1);1.1.2在线考试系统实现——管理员功能分类说明1、修改密码2、增加教师3、教师信息列表显示4、对教师列表中的某个教师信息进行修改5、删除某个教师信息6、班级信息管理和维护教师与班级是多对多关系,可通过此界面进行维护。
《J2EE系统架构和程序设计》课程设计实训项目——基于Struts2 +Spring +JDBC架构的课程管理系统概要设计说明书1.1.1引言1、编写目的本需求规格说明书的编写目的在于研究和规范高校信息管理系统课程管理子系统(以下简称“课程管理子系统”)的开发以及应用。
本需求规格说明书的预期读者是与本课程管理子系统开发有关的决策者、开发人员、支持本项目的学校领导、公司人员以及软件测试人员。
2、背景随着计算机应用的普及以及计算机网络的迅速发展,基于计算机网络的管理信息系统发展势头强劲。
全国各高校纷纷投资开发基于计算机网络的管理信息系统,以此来加强各自学校的信息化程度,规范教务工作处理流程,提高教学工作管理效率,更好地为高校学生和教师提供快捷、便利和优质的服务。
应高校信息化建设领导小组、信息化办公室的要求,我公司软件开发部承接本高校信息管理系统的开发任务。
3、定义(1)课程由“课程编号”唯一确定的一门课程。
(2)课堂每一门课程可由不同的教师在不同的时间不同的教室为不同的学生授课,这样的一个上课的班级定义为一门课程下的一个课堂。
每一门课程下面可以定义多个课堂,由“课序号“唯一区别同一门课程下的不同课堂。
4、参考资料(1)J2EE项目实训Hibernate框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(2)J2EE项目实训Spring框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(3)J2EE项目实训UML及设计模式(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(4)J2EE项目实训Struts框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社2008 年10月(5)《精通Struts设计与开发》作者:孙卫琴电子工业出版社(6)《Spring从入门到精通》作者:郭锋清华大学出版社(7)《Hibernate开发技术祥解》作者:孙卫琴电子工业出版社(8)《J2EE应用开发技术祥解》作者:刘晓华电子工业出版社(9)《设计模式》作者:Erich Gamma等机械工业出版社1.1.2总体设计1、需求规定本课程管理子系统主要的输入项目为课程信息,输出项目为课程系统处理结果,处理的功能性能要求总体不超过15s。
基于St r ut s2和H i ber nat e的毕业设计管理系统的设计张7婵肖云波严思静(湘潭职业技术学院,湖南湘潭411102)哺要】根据高职院校毕业设计的工作演.程要求和特点,设计并实现了基于st rut s2和H i bem at e的毕业设计管理系统。
本系统采用多层体系结构,有效的整合s cm t S2和H i ber na t e框架,实现了毕业设计的网E选题、网上指导、信息发布、资料E传下载等功能,为教师、学生和教学管理部门提供一个毕业设计管理信息的交流平台。
:巨锺阑】St r ut s2;H i ber nat e;毕业没计管理系统;用例图,.,.,,,、≤t’‘.j,/一。
+-?,1引言毕业设计是人才培养的一个综合性教学环节,这项工作时间要求紧,涉及面广,再加上毕业设计期间学生外出实习,影响了毕业生与学院、指导教师之间的及时指导和沟通,给此项工作带来一些难度。
基于以上原因,本文提出设计的基于St rut s2和H i be rnat e的毕业设计管理系统,能够将从毕业生设计选题、论文指导、答辩到成绩汇总统计等环节在W eb上实施,毕业生可以在互联网上很方便地使用本系统,指导教师也可以在网上向毕业生下达毕业设计的各项任务,实现了对毕业设计诸多环节的在线信息化处理,为毕业设计管理工作提供了一种新方法。
2系统设计21系统总体功能设计整个系统共分为4类用户:超级管理员、各院系教务秘书、教师、学生。
每类用户设置不同的访问权限,用户登录后只能访问自己权限内的系统功能模块。
不同级别的用户从登录页面成功进入管理系统后,将进^不同的页面,实现不同的功能。
2”教师用户功能可以实现注册、修改个^信息、查看通知、在线留言、毕业设计题目添加、查询、删除与修改的管理,教师可以对学生选题结果查询及管理。
指导教师可查看选题结果,包括选题学生的详细信息,以及对学生的确定与修改操作,给出学生答辩成绩。
2_12学生用户功能学生可以实现个人信息的注册和修改、查看通知、在线留言;能够查询教师的详细信息:查询所有的毕业设计题目和选择毕业设计题目:学生也可以对所选题目进行退选操作等。