高职院校计算机软件技术专业Java Web课程改革
2020-03-03魏钢
魏 钢
(锦州师范高等专科学校 计算机系,辽宁锦州121000)
0 引言
随着移动互联网技术的不断发展,涌现出APP、H5、微信小程序等众多应用程序,这些应用程序的特点是前端应用开发差异较大,后端应用开发差异较小.为了降低开发成本,缩短开发周期,实现后端代码复用,企业应用逐步转变为Web前后端分离开发模式[1].Java作为一门强大的后端编程语言,由于市场应用份额比例较大,需要相关软件人才较多,因此被列为计算机软件技术专业主要教学语言.从2005年开始推广至今,Java开发工具包从Java 5更新到Java 14,开发技术的不断更新促进企业用人标准不断提升,这对计算机软件技术专业人才培养提出更高要求.为了适应企业用人需求,提高人才培养质量,必须及时解决Java Web课程教学中存在的问题,保持与企业用人标准同步,本文主要从Web后端开发技术视角探讨高职计算机软件专业Java Web教学改革,以期培养出优秀的软件专业技术人才.
1 当前Java Web课程教学中存在的问题
1.1 开发工具落后
当前,比较流行的IDE开发工具有Eclipse、MyEclipse和IntelliJ IDEA.Eclipse开源免费,通过插件安装可以实现Java各个领域应用开发.MyEclipse属于收费软件,默认集成了众多插件,不用额外安装插件就可以实现Java各个领域应用开发.IDEA是近几年流行起来的Java IDE集成开发环境,目前被业界称为最优秀的Java开发工具,官网提供社区版和企业版两种版本下载,社区版可以免费使用,企业版需要付费使用.目前,多数高校的计算机软件专业选择Eclipse进行Java基础教学,Java Web开发阶段更换为Eclipse JEE或者 MyEclipse,这种选择比较普遍.但随着IDEA开发工具的出现,市场使用份额已经远超Eclipse,学生仅会使用Eclipse,毕业后到新的岗位上还要熟悉新的开发工具,额外增加了学习负担.
1.2 Java教学版本较低
Java开发语言从1995年问世至今已有二十多年的发展史,开发版本从Java 1.0更新到Java 14,并且保持以六个月为周期的发展速度进行更新,预计到2022年3月版本将升级到Java 17.在这么多版本中,只有Java 8、Java 11和未来的Java 17是长期支持版本(LTS),Oracle会支持3年,其他的只会支持6个月,新版本一出,就会放弃对老版本的技术支持.根据学生问卷调查显示,大部分学生都选择使用Java 8或更高版本,但所会技术大多仍然停留在Java 7或更低版本,这种现象说明大多数高校Java教学版本较低.陈旧的代码编写技术和狭隘的知识体系严重影响到软件人才的培养质量.
1.3 Java Web教学内容陈旧
Servlet/JSP是较早出现的Java Web开发技术,大多数高校都把它作为主要教学内容.通过应用MVC开发模式,使用JSP制作网页实现人机交互,Servlet接收业务请求并分配给业务逻辑组件进行处理,业务逻辑组件调用DAO组件实现对关系数据库的操作.这种分层、组件化的开发模式降低了组件之间的依赖,体现了高内聚、低耦合的软件工程开发思想.但是随着移动互联技术的不断发展,用户网络访问多由PC转为手机,人机交互方式由JSP页面转变为APP或微信小程序,开发者需要在Android或IOS系统上重新设计一套UI,应用系统需要进行重构,因此,陈旧的Java Web教学内容已不能满足企业需求.
1.4 应用程序部署和测试方法单一
应用程序开发结束后,教师需要指导学生对应用程序进行部署和测试.部署方法大多是在一个局域网环境下配置一台服务器,将应用程序部署到服务器上,然后通过其他客户机进行访问,测试应用程序功能是否能够实现.这种部署和测试方法受到地理、服务器和网络等多种因素的限制,方法单一,未能充分利用现有移动互联和云服务器技术.
2 Java Web课程教学改革策略
2.1 改进IDE开发工具
“工欲善其事,必先利其器”,选择良好的IDE开发工具是程序开发者保障开发效率的先决条件.为了实现与企业需求对接,必须培养学生熟练使用IDEA开发工具进行应用程序开发[2].但由于Eclipse仍然占有一定比例的市场份额,为了让学生熟练使用两种工具,对于Java编程基础课仍然可以选用Eclipse,Java Web开发课则更换为IDEA.之所以提倡使用IDEA,打破对Eclipse的依赖是因为IDEA开发工具更高效,它在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面的功能都是超常的.对先进开发工具的熟练使用会让学生顺利适应企业用人需求,让程序开发变得更加便利.
2.2 选择合适的Java版本教学
Java 8于2014年发行,在2019年底对Java版本应用调查显示,使用Java 8的公司市场占有量高达80%,这一现象说明版本并不是越高越好[3],而是越稳定越好.Java教学应该以Java 8或更高版本作为教学基础,在原有Java编程基础上引入接口默认方法、函数接口、Lambda表达式、方法引用、新的日期和时间API和Stream方式处理系列元素等Java 8新特性.此外,为了提高学生编程水平,引入反射和动态代理、泛型、注解、解析Xml文件、Java与Json数据间的序列化和反序列化等重要Java技术,为后续的Java Web开发课程的学习奠定坚实的基础.
2.3 优化Java Web教学内容
由于前端开发不再依赖JSP,原有教学内容中可以去除JSP.为了提高学生Java Web后端开发技术水平,教学内容中添加Java Web开发框架.持久层引入MyBatis框架实现JDBC的封装和ORM映射,简化DAO层和数据库访问层的开发.业务逻辑层引入Spring框架,使用IOC和AOP解决组件之间依赖注入的问题和实现事务的声明式管理.控制层使用Spring MVC框架,遵守Restful设计风格,为前端访问提供访问资源,前后端采用JSON格式数据进行收发.由于Java Web开发中引入SSM框架技术,整个项目的构建将变得比较繁琐,不仅要手动导入大量Jar包,还要对各个框架进行整合、发布和测试,Spring框架对各个组件依赖配置也加大了程序员的工作量[4].为了解决以上问题,Java Web教学内容还要额外添加Maven和Spring Boot.通过使用Maven来构建Java Web项目,可以实现项目构建的自动化,从资源库中自动取出需要的Jar包,免去了每次都要手动下载,然后复制,再添加引用等重复操作,极大加快了程序的开发效率.Spring Boot用来简化Spring应用的初始搭建和开发过程,它内嵌了Tomcat、Jetty等容器,不用发布和部署就能运行,提供的POM简化了Maven的配置,采用约定优先配置的思想,应用注解技术,减少了Xml配置,取消了样板化的配置,减少了重复工作,让程序员能够更加关注于业务逻辑的实现[5].
2.4 丰富应用程序部署和测试方法
移动互联和云服务器的使用可以解决传统方法的弊端.通过购买云服务器,解决只能使用局域网服务器的限制.阿里云ECS6服务器性价比较高,可以完美解决师生教学和学习过程中应用程序部署问题.手机连接网络不受地理限制,可以无线接入网络访问云服务器,完美解决地理和网络限制问题,实现随时随地进行应用程序测试.通过移动互联和云服务器的应用,学生不仅可以自己看到实践后成果,还可以和朋友、同学、家人共同分享,增加了项目开发的成就感,激发学生对Java Web的开发学习兴趣.
3 结语
本文针对软件技术专业现有状况,结合Java Web教学过程中的问题,充分利用现有技术从改进IDE开发工具、选择合适的Java版本教学、优化Java Web教学内容、丰富应用程序部署和测试方法四个方面进行了教学改革.经过几年来在锦州师范高等专科学校Java Web课程中的具体实施,取得了良好的教学效果,软件技术专业学生多次在“蓝桥杯”程序设计大赛中获得省赛一等奖.通过教学改革,激发了学生的学习兴趣,扩大了软件专业学生就业对口率,使培养出来的学生适应了逐步提升的企业用人标准.此外,Spring Cloud微服务架构技术如何融入高职Java Web教学,Linux课程整合云服务器使用等也非常具有研究价值,这些都是下一步教学改革的重点.总之,只有不断进行Java Web后端教学内容改革,加强学生核心能力培养,才能为社会培养出更多、更优秀的专业人才.