基于J2EE轻量级框架的实验室管理系统的设计与实现
2023-12-04
来源:乌哈旅游
广东技术师范学院学报(自然科学) 2014年第7期 Journal of Guangdong Polytechnic Normal University 基于J2 E E轻量级框架的实验室 管理系统的设计与实现 黄柳红 ,许曼鸿2 (广东技术师范学院,广东广州510665) 摘 要:通过研究和分析高校实验室发展趋势以及目前普遍存在的问题,针对广东技术师范学院 实验室分布多个校区的特点,使用基于J2EE的Struts2+H1bernate轻型框架设计和实现实验室管 理系统.通过本系统的实施,规范各校区实验室的管理工作,做到统一管理、调度、布署,优化资源利 用,减少实验设备的重复建设,提高实验室的使用效率和信息化管理水平,促进学校的教学发展. 关键词:J2EE:5truts2;Hibernate;实验室管理 中图分类号:TP 311.52 文献标识码:B 文章编号:1672—402X(2014)07—0o31一o4 O引言 高等教育办学规模的13益扩大.促使实验 设备随之增加,使实验室的管理工作13趋复杂 化.广东技术师范学院(下称“我校”)由四个院 校合并而成,分为四个校区,各校区的实验室都 是并入前各学院按学科专业来建设的,合并后 出现部分实验设备重复建设现象,造成部分实 验室的实验设备使用率低….加上实验室的管理 都归属于各院系或教辅部门,实验室的课程安 排不是由教务处统一管理.实验室的使用情况 对其他院系是不透明的.实验室的低值易耗品 仍采用手工帐本记录的管理方式,没有建立起 开放查询的信息库。耗材统计困难,易造成耗材 浪费.学校鼓励师生利用课余时间进行科研,实 验室就要开放给师生充分使用才能达到效果.例 如我校自动化学院实验中心的大部分实验室除 了正常的教学安排时间外,其余的时间都对我院 师生开放,学生可以申请实验室及设备进行科创 (科学创新)活动和实验,但需先去实验室了解情 况,然后办理书面的预约申请等手续后才能使 用.由于学校规模的扩大.正在建设的新校区规 模最大.按学校发展布局的需要,目前已有半数 的学院在两个校区办学.这就给实验室管理和 实验教学带来更多的问题. 我校已经建有覆盖各个校区的校园网络系 统,网络设施比较完善.各种管理系统种类不 少。唯独缺少对工作量13益增加、问题逐渐增多 的实验室日常工作和实验教学的信息化管理. 设计一套适合我校实际需求的实验室管理系 统,解决存在的问题,提高实验室管理的信息化 水平已是当务之急. 1 J2EE轻量级框架 基于J2EE的轻量级框架,是相对于EJB这 种类型的重型框架而言的.侧重于减小开发的复 杂度,提供最简单的组件来构建稳定的Web系 统.事务处理功能相对于EJB来说有所减弱.不 具有分布式处理能力,适合于中小型企业项目的 开发应用 .轻量级框架不需要昂贵的设备和软 件费用,保留了J2EE的各种优点.降低了开发 的复杂度,缩短开发时间,系统运行稳定,且系 收稿日期:2014—03—20 基金项目:2013年广东技术师范学院科研项目:基于J2EE轻型框架的实验中心综合管理系统的研究与设计 (13KJY10) 作者简介:黄柳红(1980一),女,广东兴宁人,广东技术师范学院自动化学院助理工程师.研究方向:计算机应用. 许曼鸿(1975一),男,广东潮州人,广东技术师范学院网络中心高级实验师.研究方向:软件工程. ・32・ 黄柳红,许曼鸿:基于J2EE轻量级框架的实验室管理系统的设计与实现 第7期 统服务器启动快捷,达到了快捷、高效的目的. 1.1 Struts2框架 Struts框架是一个基于J2EE规范并遵循 MVC设计模式的开发框架。简化了J2EE应用的 开发,实现了表现逻辑的分离,提供了对开发遵 循MVC设计模式应用系统的底层支持,主要实 现技术是Servlet、JSP和标签.Struts框架为开放 者提供了一个统一的标准框架.在构建基于Ja一 ,ca Servlet和Java Server Pages(JSP)技术的Web 应用时更加容易,并极大的提高了J2EE应用的 开发效率,并且使应用系统具有更好的维护性和 可扩展性。使得开发者能够更专注于应用程序的 商业逻辑【 .4].Struts2是Struts的下一代产品,是 在struts 1和WebWork的技术基础上进行了合并 的全新MVC框架.Struts2以WebWork为核心,采 用拦截器的机制来处理用户的请求.使得业务 逻辑控制器能够与ServletAPI完全脱离开.所以 Sturts 2可以理解为WebWork的更新产品[ . 1.2 Hibernate框架 Hibernate是一个开放源代码的、非常优秀、 成熟的O/R Mapping框架,它对JDBC进行了轻 量级的对象封装,使用面向对象的方法操作数 据库,并提供了强大、高性能的Java对象和关系 数据的持久化和查询功能.Hibernate可以应用在 任何使用JDBC的场合,能在应用EJB的J2EE 架构中取代CMP,完成数据持久化 .Hibernate 一共有5个核心接口.分别为:Session、Session Factory、Transaction、Query、Criteria和Configuration. 通过这些接口,可以对持久化对象进行存取,还 能够进行事务控制. 1.3 Struts2+Hibernate架构 本系统选择Struts2+Hibernate架构,这两个 墨示晨 业务篷t层 n|ts2I 敦据层 图1 Struts2+Hibernate结合后改进的架构图[ ] 框架搭配就能很好的构建实验室管理系统. Struts2+Hibernate结合后改进的架构如图1所示. 2需求分析及设计 2.1用户群设计 本系统面向高校实验室使用者,用户群为 高校的教职工和在校学生.在本系统中使用的用 户包括实验室管理系统管理员、实验教师和在 校学生,因此在系统中设立管理员、教师、学生 三种用户类别.这三种用户拥有相应操作权限, 用户不能超越权限操作. 2.2系统功能需求 根据上述各用户角色在各自的实验教学、 实践活动、实验室管理过程中产生的不同事务 的需求。本管理系统主要功能需求如下:用户管 理、学年设置、班级管理、实验室课程表管理、公 告管理、系统日志、实验室日常耗材管理、实验 室管理、实验项目管理、实验实训预约管理、实 验报告管理. 2.3系统的整体架构需求 为了能方便快捷地通过本系统处理有关实 图2系统的总体功能结构 第7期 黄柳红,许曼鸿:基于J2EE轻量级框架的实验室管理系统的设计与实现 ・33・ 验室日常管理和实验教学方面的事务,在学校 的各个校区的任何地方都能通过浏览器方式来 使用本系统,本系统的整体架构模式采用 Browser/Server(浏览器/服务器)结构. 2.4系统的设计 本系统采用Eclipse3.7、JDKI.6开发,Eclipse 是IBM提供的一个开源免费的具备IDE(集成 开发)环境的优秀的工具软件,它支持多种开 发语言并集成很多开源插件,具有很强的扩展 性。且开发出的系统软件能在多种操作系统上 使用[51.系统所使用的服务器采用Tomes7.0.本 系统采用适合于中小型企业数据库的SQL Server2005关系型数据库.根据我校学院实验室 管理和实验教学的需求分析和业务分析,将实 验室管理系统划分为四个大模块:数据维护、实 验室管理、实验管理、系统管理.(图2所示) 3系统实现及测试 3.1系统框架的搭建 在实验管理系统中。主要涉及到Stmt ̄框 架、Hibernate框架及一些组件的应用,因此在开 发之前,需要搭建好框架,也就是添加其类库支 持和配置相关文件. 在Web项目应用中.增加对Struts2和Hi. bernate的支持需完成以下四个方面工作:(1)复 制相应的软件包到项目中.按照Web应用的规 范,将这些库文件复制到WebContent/WEB—INF/ lib目录中.因为这个目录中的库文件在Web应 用运行时会被自动加到classpath中:(2)配置web 应用的描述文件web.xml:web.xml文件是Web 项目的配置文件,此文件需要配置Struts2、过滤 器等信息.(3)配置Struts2的配置文件Struts.xml; Sturts采用Filter过滤器来处理用户请求。Struts 的拦截器需要拦截所有的用户请求.org.apache. Struts2.dispatcher.ng.filter.StrutsPrepareAndExecute— Filter是Struts提供的拦截器类.Sturts.xml是 Sturts2框架的核心配置文件,它要做ActionForm 对象的定义、用户请求和Action之间的映射、异 常处理等工作.各层的协调工作必须通过配置 文件配置.Sturts2配置文件可根据需要任意划分 为多个小的配置文件。每个配置文件的格式必 须一致.在本实验室管理系统中出于系统安全 和角色权限的需要。划分三个小的配置文件: manager.xml、teacher.xml、student.xml,manager. xml是对应管理员角色的配置文件,teacher.xml 对应教师角色的配置文件,student.xml对应学生 角色的配置文件.(4)配置Hibernate的配置文件 hibernate.cfg.xm1.hibernate.c .xml配置文件主要 用于配置Hibernate数据库的连接及Hibernate 在运行时所需的各种属性和参数值.本实验管理 系统的Hibernate连接的数据库是SQL Server 2005。连接方式是JDBC.数据库的连接池选用默 认的数据库连接池. 3.2功能模块的实现 3.2.1用户登录管理 用户登录实现过程:在客户端浏览器中输 入实验室管理系统的地址http://localhost:8080/ login.isp,提交后向服务器端发出请求,请求/us. er_login.action,Struts过滤器拦截该URL,过滤器 根据URL中的路径名user_login.action读取配置 文件。该action对应的Action类为cn.gain.action. UserAction。然后Sturts2控制器创建一个UserAc. tion实例,调用这个实例的loginCheck函数。参数 值为客户端页面用户输人的用户名、密码、验证 码、类另H,根据该函数的返回值导向对应的页面. 3.2.2预约管理 用户(管理员、教师和学生)进入系统后,可 以根据需要进行实验实训预约.点击申请实验 室功能,填写申请信息,内容包括实验室号、实 验项目编号、申请时间、申请类型、申请原因,学 年和学期不需填写,由系统自动产生.系统自动 判断申请内容,包括申请的实验室是否存在、此 实验室是否有开设申请的实验项目、申请时间 跟系统原有的实验安排是否有冲突等。系统判 断后会返回提示信息,如有冲突则按提示信息 操作,申请提交成功会弹出“增加成功”的信息。 系统自动记录申请提交的时间和申请用户的姓 名.实验实训预约申请的实现过程。也是Struts2+ Hibernate框架配合工作的流程。实验实训预约 申请实现的部分代码如下: public boolean add(1ahProOrderInfo labPro— Orderlnfo,Map<String,Object>data) {SchoolYear sy labProOrderlnfo.getSchoolYear (); if(sy!=null1{sy=this.schoolYearDao.find- ByYearNameAndTermName(sy); ・34・ 黄柳红,许曼鸿:基于J2EE轻量级框架的实验室管理系统的设计与实现 第7期 if(sy!=nul1){labProOrderInfo.setSchoolYear(sy); J else{//没找到班级和学年,不应该增加记录 retum false;)) else{retum false;)//匹配申请时间的 格式,筛选出对应的申请时间 Query query session.createQuery(sq1); if(page!=nul1){page.setLimit(query);】 return query.1ist(); ) 3.3测试 对本系统的功能测试包括系统需求、数据 Pattern pattern=Pattern.compile(”第(\\d 操作功能测试、用户权限测试和各功能模块测 {l,21)周星期(【一I二I三I四I五])第(\\d{1,21)一(\\d 试.针对各种预测问题在实验室管理系统使用不 {1,2))节”); Matcher matcher pattern.matcher rlabPro- OrderInfo.getApplyDate());//匹配成功 if(matcher.ifnd()){//取出匹配出来的信息 Integer week=new Integer(matcher.group(1)); LabSyllabus ls=labSyllabusDao.ifnd(week, lab,sy); Stirng weekSectionStr=matcher.group(2); Integer firstSection=new Integer(matcher.group (3)); Integer weekSection getWeekSection(weekSec— tionStr); if(Is! :nul1){//找出申请的时间是否已有 课程安排 List<LabSyllabusOrderInfo>list=labSyllabusOr- derInfoDao.ifnd(Is,weekSection,firstSection); if(1ist!=null&&list.size()>0){data.put(” msg”,”申请失败,你申请的实验室已被占用!”); return false;})) 3.2.3用户管理模块的实现 本系统的多个功能模块中使用数据持久层 Hibernate实现分页查询的方法.查询用户列表功 能模块用数据持久层Hibernate实现根据用户角 色分页查询用户列表,部分实现代码如下: public List<User>6ndByPage(Page page){ Session session:HibernateUtil.getSession 0; User user=(User)ActionContext.getContext(). getSession0.get(”currentUser”); Stirng sql=”from User where role in(’’: int role=user.getRole0; if(role&1)>0) sql+=”1,2,4”;//1代表管理员,2代表教 师。4代表学生 else if(role&2)>0)sql+=”2,4”; else sql+=”4”; sql+=”)order by id desc”: 同类型用户进行测试,各子模块均运行正常,达 到预期需求功能.同时在计算机实验室的30台 计算机上模拟30个不同的用户同时访问实验 室管理系统,客户端的浏览器能在0.2秒内打 开本系统,同时用不同的浏览器打开实验室管 理系统进行不同的权限操作.测试结果显示系 统数据正常.实验室管理系统运行正常.通过系 统的运行和不同权限的用户测试.各项功能比 较完善、系统运行稳定、安全系数较高、相关数 据可靠,且具有较好的维护性和可扩展性,符合 系统设计的性能要求。 4结束语 系统在投入使用的过程中还可能会不断发 现问题。部分模块功能需要在实践中进行调整 和改进.随着实际系统使用需求的不断扩充和 维护工作的逐步深入,将对系统进行服务添加、 改造、调整与优化,系统将越来越完善,系统基 于J2EE架构所体现的优势也会更加明显. 参考文献: [1]黄少辉.高校实验室管理存在的问题及对策[J].广 东技术师范学院学报,2008,(6). [2]朱治军.J2EE在电子文件管理系统开发中应用的重 要性[J].兰台世界,2010,(7). [3]马钟宇,倪德明,基于轻量级J2EE的加油站卡系统 的设计与实现[J].计算机工程与设计,2009,30(21). [4]白胜普.J2EE企业级应用测试实践[M].北京:清 华大学出版社。2009. [5]Struts 2.百度百科.[EB].baike.baidu.corn/link?url= tom1AOYgTtPrdFgaov-3sZ7GkB-0_Ahdqxla3DwRqevXr5 _1LjTbeb-ApdzzMlvL9mXnGuqRQY6Dh98g8EGYiq.2014年. [6]孙小锥,上官右黎,文福安.基于轻量级J2EE框 架的网络教学系统[J].计算机工程,2008,34(6). 【责任编辑:卓影] (下转第66页) 兰希园:老板椅U形板折断的钳工修复技术 第7期 的强度. 由此得出,只要善于思考和动手,应用我们 版社.2006. [2]兰希园.台钻改装成自动往返攻丝机的研究与应用 [J].制造技术与机床.2013,(10):108—110. 的专业技能是可以解决很多生活中的困难.真 正实现学有所用. 参考文献: [1]陈培里.钳工技能手册[M].杭州:浙江科学技术出 [责任编辑:卓影] A Boss Chair U・・‘shaped Plate Break a Fitter Repair of Thinking LAN Xi-yuan (Xianning Vocational Technical College,Xianning 437 100) Abstract:Bench as a traditional mechanical industry workmature technology,has an irreplaceable in ente卜 ,prise production and industrial application value,fitter operating equipment is relatively simplewith hand tools is ,given priority to,in some small p叭s repair with good performance.In this paperthrough a boss chair U—shaped ,plate after the break of the bench repair technologyconcluded that the concrete application in fitter skills in life,. to use it,the realization of knowledge transformation. Key words:The boss chair;U—shaped plate;Plate fracture:Bench repair (z4i-g 34页) The Design and Application of Laboratory Management System Based on J2EE lightweight framework HUANG Liu—hong,XU Min-hong (GuangDong Polytechnic Normal University,Guangzhou 510665) Abstract:Based on the analysis and research of an ivemity laboratory development trend and prob1ems, according to the school laboratory distibutrion of multi campus characteristicsuse and implementation of , lboraatory management system design of J2EE Hibernate lightweight framework based on Struts2+.The implementation oi this system,to regulate the campus laboratory managementunifv the management,scheduling。 ,plannmg,optimize resource utilization,reduce the repeated constuctrion of experimentl equiapmentimprove lboraatory efifciency and management level,promote the school development.. Key words:J2EE;Stutrs;Hibernate;laboratory management