本栏目责任编辑:王力
数据库与信息管理
结合MVC 和Node.js 的教学案例设计
刘木友1,魏保华1,周少萍2
(1.广州华立科技职业学院,广东广州511325;2.广东华立技师学院,广东广州511325)
摘要:针对计算机网络技术专业学生对MVC 开发模式掌握不到位的问题,研究现有MVC 开发模式相关教材不能满足高职
高专学生需求,为了能让学生系统地掌握MVC 开发模式,并引入新的知识技能,设计了用户注册教学案例。教学案例以Node.js 为主要载体,从模型、视图、控制器角度设计并实现其功能,且改进为可操作数据库和在服务器上可运行的动态Web 用户注册程序,以达到让学生掌握MVC 开发模式的教学目的。关键词:MVC 开发模式;Node.js ;案例教学中图分类号:G642
文献标识码:A
文章编号:1009-3044(2021)01-0034-02
开放科学(资源服务)标识码(OSID ):
以计算机网络技术专业学生为教学对象,从公司职员管理系统中进行功能模块分离,成为一个简洁且独立运行的用户注册模块,进而成为一个完整的教学案例。这个教学案例符合面向对象编程和MVC 开发模式的设计理念,并以Node.js 为技术载体,可增强学生专业技能与职业素质,提升教学环境与产业环境之间的契合度,让学生尽可能地适应未来工作岗位的Web 应用软件开发需要。
1MVC 开发模式
MVC 是由模型(Model )、视图(View )、控制器(Control )这三个单词的首字母组成的,模型是指处理数据的功能部分,视图是指显示在客户端的界面,控制器是指处理用户交互逻辑的功能部分。MVC 设计模式是众所周知的模式,用于交互式软件系统架构。MVC 方法的工作原理是将模式(Model )、视图(View )和控制器(Controller )等主要组件分离开来,使其更加简洁、结
构化和易于开发[1]
。图1显示了MVC 各模块的功能以及它们之间的相互关系[2]。
图1MVC 设计模式
2Node.js
Node.js 是一个基于Chrome V8引擎进行代码解析的Ja⁃vaScript 运行环境,Node.js 具有强大软件包管理工具npm,它的在线代码库包含功能齐全的代码模块[3]。本教学案例采用Node.js 作为服务器编程技术,以Express 作为Web 应用框架,在Express 框架中配置静态资源,引入etpl 模板引擎、body-parser 中间件,前端页面以HTML 、CSS 、jQuery 技术及Ajax 异步传输设计用户交互功能。
3教学案例设计
3.1用户注册执行流程js代码加密软件
以MVC 开发模式为指导思想,Node.js 为主要技术载体,配合对应的技术支持,实现了用户注册功能模块。用户注册执行流程如图2所示。
图2用户注册执行流程
收稿日期:2020-08-21基金项目:教育部科技发展中心产学研创新基金——“智融兴教”基金(项目编号:2018A03002)作者简介:刘木友(1984—),男,广东云浮人,中级经济师,学士,研究方向:大数据、Web 程序设计;魏保华(1965—),男,山西朔州
人,研究员,博士,通讯作者,研究方向:网络技术、云计算;周少萍(1993—),女(壮族),广西贵港人,学士,研究方向:电子商务技术与应用。
34
数据库与信息管理
本栏目责任编辑:王力
Computer Knowledge and Technology 电脑知识与技术
第17卷第1期(2021年1月)3.2数据库设计
MySQL 具有跨平台,免费的,运营成本低的特性[4],因此数据库采用MySQL5.7,字符编码为UTF8,数据库命名为compa⁃ny ,数据表命名为users ,其数据表结构如表1所示。
表1职员信息表users 的结构定义
字段名id name password
数据类型int varchar(255)varchar(32)
是否为空
否否否是否主键
是否否默认值NULL NULL NULL
描述
系统自动编码,自增
用户名称
用户密码
4教学案例实现
4.1Models 模型编码
在项目根目录下,建立models 文件夹,存放模型文件。
(1)项目加载第三方模块mysql ,通过实例对象mysql 调用createConnection 方法连接数据库。同时,加载md5加密模块,并赋值到db 对象,关键代码如图3
所示。
图3数据库连接代码块
(2)定义增加用户数据函数,在函数体内对用户密码进行md5加密,通过调用数据库对象db.query()方法,对获得的用户注册信息写入到数据库。在定义SQL 语句时,采用?占位符的技巧,以防止SQL 注入,保护数据安全。关键代码如图4
所示。
图4定义增加用户数据函数
4.2Views 视图编码
在项目根目录下,建立views 文件夹,存放视图文件。
(1)以HTML 的表单记载用户信息,通过jquery-validate.js 第三方插件校验用户填写数据的规范性,关键代码如图5
所示。
图5用户注册表单
(2)为了提供用户良好的注册体现,项目中使用Ajax 进行异步HTTP 数据请求。通过jQuery 的on()方法绑定表单事件,对图5所示表单进行侦听,当表单提交(submit)时触发事件。事件触发后,调用serialize()方法,通过序列化表单值创建URL 编码文本字符串。关键代码如图6
所示。
图6Ajax 异步请求数据
4.3Control 控制器编码
在项目根目录下,建立control 文件夹,存放控制器文件。
(1)通过运用get 方法请求,定义用户注册页面路由,关键代码如图7所示。
(2)通过运用post 方法请求,定义接收用户注册数据并写入数据库路由,关键代码如图7
所示。
图7用户注册和接收用户注册数据并写入数据库路由
5结论
案例设计简洁和思路清晰,重在突出结合MVC 开发模式
(下转第40页)
35
本栏目责任编辑:王力
数据库与信息管理
Computer Knowledge and Technology 电脑知识与技术第17卷第1期(2021年1月)
以往产学合作项目、竞赛项目、科研立项项目等信息,分析项
目、专业、知识点及现有课程的内在联系,建立产学合作项目的动态信息图数据模型(知识图谱),通过多种检索方法从知识图谱中获取有效信息,为重构现有的课程体系,构建科学合理的三级专业项目,从而为创建适应企业人才需求的项目化教学课程体系打下良好的基础。
参考文献:
[1]何光春.数控加工技术课程项目化教学研究与实践[J].内燃机与配件,2019(15):254-255.
[2],吴迪.产教融合视域下广告设计与制作专业综合实训项目化教学研究[J].思想文库,2019(10):76-77.
[3]耿飙.基于项目化教学的物联网研发人才培养的研究[J].科
教论坛,2019(8):72.
[4]张晓芬.基于项目化教学的专业英语课堂教学模式探讨[J].广东职业技术教育与研究,2019(4):75-77.
[5]白士霞,孙国敏.项目化教学方法在数控加工教学中的应用[J].科技经济导刊,2019,27(22):150.[6]Nikitenko E.V.,Savina T.V.Implementation Conditions for Proj⁃ect-Based Training as an Integrated Teaching Strategy in Higher Education[J].Advances in Social Science,Education and Humanities Research((HSSNPP 2019),Vol.333,pp.506-510,2019.
[7]邱胜海,王云霞,樊树海,等.云环境下图数据库建模技术及其应用研究[J].计算机应用研究,2016,33(3):794-797.
【通联编辑:王力】
(上接第33页)
其次,目前大数据的形式主要是以分享,未来在发展阶段,则可以往开放式的方向进行延伸,将网络信息与其硬件设备相分离,建立网络独立的脉络。另一方面,将计算机与网络相结合,使二者合一,两者不再是分别独立的个体,如此一来,便创立了一个更为先进的网络形式,使得互联网之间相互连接,将信息的处理技术提到更高层次。
4结束语
综合来看,当前社会下计算机的应用是不可缺少的技术存
在,其信息处理技术更是对社会的发展具有重大的意义。时代的变迁引领着各方面的进步,当前社会环境下,我国已逐渐步入大数据时代,数据信息已延展到人们社会生活的方方面面,对生活具有诸多的便利及影响。当然,在此过程中,仍存在各种各样的问题与挑战,因此,在促使大数据时代不断前进的过程中,计算机信息的处理技术亦需要不断地提升与优化,以促
进社会经济等各方面的推动与进步。
参考文献:
[1]李光亮.基于大数据时代背景下计算机信息处理技术的分析[J].电脑迷,2016(10):71
[2]王鑫伟.基于大数据时代背景下计算机信息处理技术应用研究[J].信息通信,2020(3):185-186
[3]毛鹏飞.大数据时代下计算机信息处理技术分析与思考[J].西南科技大学学报,2019,34(2):98-101
[4]储向向.大数据时代背景下的计算机信息处理方式分析[J].科技创新与应用,2019(13):136-137
[5]吕晋俐.大数据时代背景下计算机信息处理技术的分析[J].信息与电脑(理论版),2017,380(10):179-180.[6]杨总.“大数据”时代的计算机信息处理技术分析[J].信息与电脑(理论版),2015(12):133-134.
【通联编辑:李雅琪】
(上接第35页)
的思维和Node.js 技术应用。学生应用MVC 开发模式需要基础的Web 开发经验,学习Node.js 需要有JavaScript 和面向对象编程的基础,而本教学案例的设计与实现有助于进一步提升学生Web 综合开发能力,同时有助于指导学生参加广东省职业院校学生专业技能大赛高职组Web 应用软件开发竞赛,也为云计算实训教学综合改革提供了基础案例内容。
参考文献:
[1]Andri Sunardi,Suharjito.MVC Architecture:A Comparative
Study Between Laravel Framework and Slim Framework in Freelancer Project Monitoring System Web Based[J].Procedia Computer Science,2019,157.
[2]蒋卫祥,朱利华,闾枫.JavaEE 企业级项目开发:Struts2+Hiber⁃nate+Spring[M].2版.北京:高等教育出版社,2018:5.
[3]李丹清,韩利峰,李嘉曾,等.Nodejs 平台下远程视频和信号监控系统的融合[J].仪器仪表用户,2019,26(3):1-5,51.
[4]传智播客高教产品研发部.MySQL 数据库入门[M].北京:清华大学出版社,2015.
【通联编辑:代影】
(上接第37页)
[3]成平广,等.基于拟态计算的社会网络划分算法[J].计算机科学,2015,42(8):136-156.
[4]李斌,等.基于拟态计算的大数据高效能平台设计方法[J].计算机应用研究,2019,36(7):2059-2064.
[5]崔冰萌,等.基于FPGA 的拟态服务器设计[J].计算机系统应用,2018,27(4):219-225.
[6]徐婧,等.基于大数据的重大工程智能体决策支持系统研
究[J].河南科学,2019(6):1014-1019.[7]林子雨.大数据导论[M].北京:高等教育出版社,2020.
[8]Neshatpour K,Malik M,Ghodrat M A,et al.Energy-efficient accele-ration of big data analytics applications using FPGAs [C]//Proc of IEEE International Conference on Big Data.Washington DC:IEEE Computer Society,2015:115-123.
【通联编辑:王力】
40

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。