APP下载

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

2020-09-29

实验技术与管理 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 标签(如按钮对应的标签为

猜你喜欢

引擎学时编程
第二课堂成绩单制度下的学时发放标准的探索
——以中国民用航空飞行学院为例
《诗词写作》课程教学大纲(节选)
编程,是一种态度
教学大纲国画(工笔花鸟)
元征X-431实测:奔驰发动机编程
新海珠,新引擎,新活力!
编程小能手
探索学时积分制 构建阶梯式成长激励体系
纺织机上诞生的编程
三生 三大引擎齐发力