基于组件库技术的JAVA EE 实验教学探索

2020-09-29 05:49
实验技术与管理 2020年6期
关键词:引擎学时编程

陈 科

(四川大学锦城学院 计算机与软件学院,四川 成都 611731)

据权威编程语言排行榜TIOBE[1]统计,目前JAVA仍然是世界上使用范围最广、使用人数最多、影响力最大的编程语言。各大高校计算机专业都开设了JAVA编程相关的课程,并分配了大量的实验学时,以培养和提高学生JAVA 编程能力。通过一学期(约64 学时)的理论加实践学习,大部分学生可以掌握JAVA 标准版(JAVA SE)的核心内容,包括JAVA 基础语法、面向对象基本概念和设计思想、JAVA 标准库调用方法等。常见的JAVA 课程实验教学方法包括微课教学、案例驱动教学、CDIO 模式教学等[2-4]。

JAVA SE 一般不能直接应用到项目研发和工程实践中。在JAVA SE 基础上、以轻量级MVC 模式为核心的JAVA 企业版(JAVA EE)[5-8]是主流的JAVA 平台开发架构,许多学校也开设了JAVA EE 的实验课程,并研究了一些实验教学方法[9-12],主要集中于案例教学和实验指导过程中的新方法探索。但JAVA EE 架构复杂、代码量大、能力要求高,大部分JAVA EE 实验由于学时限制,再加上学生大多没有企业项目开发经验,导致实验课程效果不佳,很难在短期内培养和提高学生的JAVA EE 实践能力,因此迫切需要进行实验教学改革。

本文通过技术创新,积极探索新型JAVA EE 开发和实验教学模式,将基于MVC 模式的轻量级JAVA EE架构进行组件化设计,并通过自动构建技术,快速完成JAVA EE 应用开发过程,避免了传统逐行代码的编程方式,既提高了实验课程效率,又提升了学生JAVA EE 的编程实践能力,取得了较好的实验教学效果。

1 组件与组件库设计

1.1 组件定义与设计

基于“模型—视图—控制(MVC)”模式的轻量级JAVA EE 是目前主流的软件体系,JAVA EE 实验也基于MVC 层次架构开展。要实现全栈MVC 体系,必然需要编写前端界面(常常基于HTML 和JavaScript等技术)、后台控制逻辑和数据库模型,因此采用MVC实现一个完整的业务逻辑,包括常见的数据增、删、改、查操作,需要花费较长的时间和较大的精力,短短的实验课时很难高质量地完成全部操作过程,学生普遍感觉知识点多、编程复杂、上手困难,因此实践效果不佳。

为了改革JAVA EE 实验教学,我们提出了创新的MVC 组件概念,摒弃从底层开始直接编写代码的传统模式,将复杂业务逻辑组件化,再通过积木式的组件拼接和组合,形成组件库,从而构建出完整的业务系统,达到了更高效的实践效果。

JAVA EE 组件,简称组件,是符合MVC 规范的细粒度的业务模块,包含前端界面和后台业务逻辑。一个MVC 组件由组件名、组件描述和组件代码实现三部分构成。

按照规模划分,组件可分为小型组件,如删除、新增等功能按钮;以及大型组件,如查询列表、数据表单等组件。一些小型组件可组合成为大型组件。

组件的标识符称为组件名,各组件的名称必须唯一,且组件命名应当符合JAVA 标识符命名规范,如数据新增按钮组件可命名为:dataAddButton。

组件描述是对组件功能和属性的形式化定义,我们采用了XML 语言对组件进行描述,将每个组件映射为一个XML 标签(tag),既增加了可读性,又便于编写计算机程序解析。典型的组件定义如图1 所示。

图1 组件XML 定义

不同组件通过定义不同的属性,具有不同的功能和表现形式,同一组件的不同实例具有不同的属性值,也能表现出不同的界面和功能。 以 文 本 输 入 框(textbox)组件为例,XML 定义如图2 所示。组件的实现过程如图3 所示。

首先将组件XML 定义输入到XML 解析器中,一般可采用开源框架Dom4J 作为解析器[13-15],然后根据组件样式编写前端界面,再根据组件功能编写后台JAVA 逻辑代码。在编写过程中,需要读取XML 的组件属性作为参数,最终生成完整的组件逻辑,输出可用的JAVA EE 组件供使用。

图2 textbox 组件XML 定义

图3 JAVA EE 组件实现过程

一个完整的JAVA EE 组件至少包括前端HTML页面和后台JAVA 代码,结构如图4 所示。

图4 JAVA EE 组件结构示意图

前端页面主要包括标准HTML 标签(如按钮对应的标签为