好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

COM对象下ComBuilder的虚拟演示平台.docx

15页
  • 卖家[上传人]:I***
  • 文档编号:321006869
  • 上传时间:2022-07-02
  • 文档格式:DOCX
  • 文档大小:105.18KB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     COM对象下ComBuilder的虚拟演示平台    鲍聪 孙祥娥 王文松 郭益凤 李文婷Key: COM; Matlab; Com Builder; 虚拟演示; 直观显示; 窗体属性; 维数转变: TN915.5?34; TP391.9             : A                    : 1004?373X(2019)02?0089?05Virtual demonstration platform of Com Builder under COM objectBAO Cong, SUN Xiange, WANG Wensong, GUO Yifeng, LI Wenting(Oil and Gas Signal and Information Processing Research Center, School of Electronic Information, Yangtze University, Jingzhou 434023, China)Abstract: The traditional demonstrational Matlab graphic windows using CORBA and JNI technologies has many disadvantages, while the virtual demonstration of Com Builder under the COM object can make the Matlab graphic window display independently and visually, and retain the original window attributes, such as acquirement of horizontal and vertical coordinates of a point, graph scaling, and dimension change, and setting of line and window attribute. Its key technology is to apply the Com Builder under the COM object to convert the M file in the Matlab into the Java class, and utilize the WebFigure tags in JSP to realize the virtual demonstration function. Combining with the instance demonstration, the superiority of the virtual demonstration over the traditional demonstration and the feasibility of the technology were verified. The results show that the virtual demonstration can make students deepen the graphic effect analysis of relevant knowledge points and the understanding of relevant concepts and theories in the class.Keywords: COM; Matlab; Com Builder; virtual demonstration; visual display; window attribute; dimension variationCom Builder也可叫作Matlab Builder for Java[1?2],其能使程序设计的流程更加灵活,替代了传统的通过古老CGI [3]方式工作的Matlab Web Server组件[4]。

      之前所研究的演示主要实现了图形的网页端的显示,大多采用CORBA,JNI技术实现图形嵌套于网页端显示,而应用COM对象下Com Builder技术设计的虚拟演示平台,实现了图形窗体非嵌套于网页而从网页端弹出、能直接获取某点的对应值、修改背景色彩、图形的放大和缩小以及旋转,二维图形转变为三维立体图,以及保留了原有的窗体属性及一系列的可编辑等功能以验证周期信号的简洁型傅里叶级数为例,证明Com Builder技术的可实现性以及与前人相比所增加的一系列功能,用于开发与Matlab提供支持的相关课程的虚拟演示平台[5]1  Com Builder方法论证针对Java程序访问Matlab,Com Builder方法比传统CORBA,JNI具有许多优点,具体论证如下:1) 传统技术CORBA指的是公共对象代理结构,CORBA通过桥梁C++ ,即可完成Java对Matlab的方法调用[6]JNI是指本地编程接口,Java通过调用Matlab Engine(Matlab引擎函数)来实现对Matlab的访问[7?8]2) Com Builder技术访问利用Matlab中的Com Builder完成从Matlab算法到COM[9]的转换,生成COM对象,从而使基于COM+的Java应用程序能够使用COM对象。

      其访问流程是在Matlab的编辑器中编写好要使用的M文件,将Matlab环境下的M文件转换生成Java环境中的jar[10]文件,Java应用COM对象使Java调用Matlab,从而这些被转换的jar文件可以被集成到Java 程序开发中,实现了混合编程[11]然而这些被集成的程序可以部署到装有免费Matlab Compiler Runtime (MCR)的Web服务器中,故无需安装Matlab由于本方法是基于Java Web,在Web应用中使用WebFigure能够在网页中调用Matlab环境下的图形,所以客户端只需使用标准的Internet 浏览器就可以展现和操作实验的全过程,具体访问过程见图1因此与传统的方法相比,利用Com Builder技术访问,更易实现Java调用Matlab,在提高运算速度的同时可操作性也明显增强2  虚拟平台环境及实现过程2.1  平台的运行环境及流程在整个流程中,采用Win64位的Windows 10操作系统、Java(jdk1.7.0_67)、Eclipse、Matlab 2016b,检查Java运行环境和Matlab环境,使Matlab能正确读取环境变量Java_HOME的值,保证环境变量设置成功,使Java运行环境和Matlab环境相兼容,从而完成Matlab Builderfor Java的环境配置,为虚拟平台有条不紊的进行打下基础,具体运行流程见图2。

      2.2  编写相關M文件开发者需要编写与演示相关的Matlab的M文件,编写可以展示相关的原理、概念,以及理论的Matlab程序,M文件主要用于处理输入页面中用户请求的各种变量、函数及数据等其中M文件中涉及的数据主要有两部分:一部分是从输入页面提取出来的数据;另一部分是经过运算后反馈给用户的数据[1] ,以新建M文件Waving.m为例2.3  将M文件打包生成jar文件在Matlab的命令窗口输入“deploytool”命令,启动Deployment Project对话框,输入编译工程名MathplotWaving.prj,并在Type列表框中选择编译类型为Java Package,在页面中,添加类和编写好的M文件,命名文件名为Waving,如图3所示,通过Package完成编译后,即可在编译项目所在的目录打包两个文件夹: for_testing文件夹的作用是存放编译好的Waving.jar文件;for_redistribution _files_only文件夹内放置的是Java 包中类的代码文件2.4  Java编程实现Matlab程序在网页端的运行客户端采用JSP作为视图来显示用户请求的响应结果,Matlab 生成的图形通过Servlet访问获得,而JSP和Servlet两者之间的通信连接是采用Servlet中的session实现。

      实现该模块功能的具体步骤如下2.4.1  在Java中导入Matlab生成的jar文件在Java开发工具Eclipse 中新建一个Dynamic Web Project工程,输入工程名Java web,再新建一个JSP文件在Java web里通过Build path中的Configure Build Path的路径为工程添加jar文件在Java Build path的libraries下通过Add External JARS添加Matlab生成的Waving.jar文件和Matlab安装文件下的Javabuilder.jar文件,如图4所示其中Javabuilder.jar是Matlab builder组件所必须的,导入了Javabuilder.jar则可保证在当前Java 项目内可以访问到Java 包中的类同时将这两个jar文件复制到Java web\WEB?INF\lib目录中,以及将显示Matlab图形所必须的文件webfigures.tld标签库拷贝Java web到WEB?INF文件夹下2.4.2  为JSP文件中的头部添加相应引用项1) 在JSP文件的头部声明引用webfigures.tld文件,定义标签页2) 引用com.mathworks.toolbox.javabuilder.*,其中包含WebFigure库、Erros定义以及编译生成的Java的类和Combuilder接口的定义。

      具体为:                              //引用WebFigure库//引用Combuilder接口定义                                               //內部Erros定义//引用编译生成的Java类2.4.3  JSP实例的关键代码WebFigure webFigure=(WebFigure)                  //引用标签{(MWJavaObjectRef)func. Plotwaving (1)[0]).get();//转化对象进行参数传递request.getSession().setAttribute("MyFigure",webFigure);//请求访问Seession}Plotwaving是Matlab中M文件定义的函数,而在Servlet中,由于实参不能直接和在M文件中生成Java 类的函数的形参进行传递,则需要通过MWNumericArray对象作为实参传递将返回的对象类型强制转化成MWJavaObjectRef类型的对象,通过访问Session、共享Session属性来实现Servlet和Jsp之间通信。

      2.4.4  配置文件以实现网页端的显示配置web.xml文件需要对Javabuilder.jar中所使用到的WebFigures Servlet进行配置在web?app标签中加入如下代码:WebFigures

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.