




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工程制图网络习题系统中的JAVA应用 作者: 日期:工程制图网络习题系统中的JAVA应用The Application of JAVA in Engineering Network Exercise System 刘爱平 戴立玲 卢章平Liu,Aiping Dai,Liling Lu,Zhangping摘 要:本文主要介绍基于AUTOCAD二次开发的工程制图习题系统中JAVA技术的应用,主要涉及到JAVA对非JAVA代码(主要是C/C+代码)的调用,以及在客户端实现多种功能时存在的安全策略问题。目前,JAVA对非JAVA代码的调用有JNI等几种方法,本文重点阐述通过JNI方法调用C+代码的基本模型,以及利用APPLET在客户端实现所需功能时的数字签名问题。关键词:AUTOCAD,JAVAAbstract: This paper mainly introduces the application of JAVA in engineering exercisewhich is based on the secondary development of AUTOCAD. It comes down to JAVA code transferring non-JAVA code(C/C+ code) and security policy in client which will realize many functions. At present, there are some methods in JAVA transferring non-JAVA code such as JNI. This paper emphasizes the base model of JAVA transferring C+ code by JNI and the problem of digital signature when APPLET is used in client to realize necessary function.Key words: AUTOCAD, JAVA1 引言工程制图是工科类学生必修的一门专业技术基础课。学生通过对这门课程的学习,不仅可以掌握有关工程制图的专业知识,还可以培养自己的空间想象能力和形体表达能力,但需要通过做大量的习题以及多看、多想、多问来达到这一教学目的。传统的教学方式局限于教室,问题由师生当面交流来解决,但是在目前高校扩大招生规模,而教师资源相对有限的情况下,传统的教学方式已经不能再满足现代教学的需要。随着网络技术的发展和普及,网络化教学给传统的学科教学改革带来了新的契机。JAVA技术是目前网络开发中使用最广的技术之一,AUTOCAD是现在国内高校计算机辅助设计中基本的绘图软件,以JAVA和AUTOCAD为基础开发工程制图网络习题系统是教学方式改进的一个方向。我校已经开发了基于ARX的工程图形智能识别系统,将基于JAVA的WEB技术与工程图形智能识别系统联系起来,组成网上作业自动批改系统,并集成其他一些WEB交互方式,将是工程制图网络习题系统设计的指导思想。2总体框架以JAVA为开发语言可以实现跨平台性。JDBC是联系JAVA应用程序与数据库的桥梁,支持异构数据库的访问。JavaBean具有良好的可复用性,将不同的功能封装于不同的JavaBean组件中,组成组件库,可实现功能的可扩展性。2.1功能模块的设计,如图1。几点说明:(1)在学生解题过程中,可以适当的给予提示,帮助学生顺利完成习题。在习题完成提交时候,可以在给出正确答案的同时,按步骤给出解题说明。这一功能由解题过程说明系统实现。(2)教师需要统计学生上机操作的次数,图1可以通过在线教师、学生显示核查系统实现。(3)学生在完成习题的过程中遇到疑问,可以通过电子邮件的形式将问题反馈给教师作课后解答。如果条件允许,教师可在线实时答疑。教师如果需要协同工作,如更改数据库、设计考卷等,可以通过教师在线实时通讯系统即时交换意见。教师对学生的问题给予解答,如果问题具有典型性,可发布在答疑公告板上。 (4)教师有新消息要通知学生,可以将消息输入最新消息发布系统,系统将第一时间通知学生。2.2数据库的设计,如图2。图2几点说明:(1)学生的问题如果具有典型性,经教师解答后,可存入答疑库,供自动答疑系统调用。(2)学生未经允许不可以访问习题库,教师以给出作业或试卷的形式来考查学生的学习情况,作业或试卷可存入试卷作业库,随时可供调用。3应用JAVA构建电子习题系统中存在的问题及解决方案电子习题系统的设计存在两方面的问题。一方面来自于客户端,即JAVA程序如何调用客户端的应用程序,访问客户端的资源,以实现文件上传下载等功能,另一方面来自于服务器端,即JAVA程序如何调用基于ARX的工程图学智能识别系统,以实现网上自动批改系统的功能。3.1客户端解决方案3.1.1APPLET方案,如图3。JAVA小程序(APPLET)是广泛运用于网页设计中的一项技术。它们可以嵌在WWW的页面中,作为页面的组成部分被下载,能运行在实现JAVA虚拟机(JVM)的WEB浏览器中。但出于安全考虑,JAVA小程序所能完成的工作受到严格的限制,即所谓的“沙箱操作”。小程序不能完成下列任务:(1)不能读写用户的文件系统。(2)不能与提供包含小程序的网页的站点之外的INTERNET站点联系。(3)不能在阅读者的系统上运行任何程序。(4)不能加载存储在用户系统上的程序,例如可执行程序和共享库。但是,构建INTERNET应用系统,需要APPLET能像本地机上的应用程序一样访问本地机上的资源,图3从而灵活的设计应用系统,因此要求APPLET能冲出沙箱的限制。问题的解决方法是对APPLET进行数字签名,使其成为可信任的APPLET,可信任的APPLET拥有和本地机上程序一样的权限。具体的实现的步骤为:服务器端:(1)javac. /编译需装入客户机的类。(2)jar /将CLASS文件打入jar包。(3)keytool genkey keystore. /创建密钥库。(4)jarsigner keystore /对jar文件签名。(5)keytool export keystore. /导出公钥证书。(6)将jar文件、证书和签名发给客户端。客户端:(1)keytool import alias /导入证书。(2)设置本地策略文件。3.1.2APPLICATION方案,如图4。将JAVA应用程序(APPLICATION)装入客户机,可以避开客户端对JAVA小程序的种种限制,在客户端实现各种功能。图4比较两种方案,各有利弊。APPLET可以随网页一起下载,但需要解决权限扩充的问题。APPLICATION没有权限的限制,但需要单独装入客户机。选择哪种方案可根据具体情况而定。此外,目前常用的浏览器的JAVA虚拟机不能完全支持JAVA语言的全部特性。安装JAVA plug-in软件,用SUN公司的JAVA虚拟机代替浏览器上缺省的JAVA虚拟机来运行WEB服务器上的APPLET,可以解决这一问题。3.2服务器端解决方案用JAVA调用基于ARX的工程图形智能识别系统,是将JAVA应用于网络习题系统须解决的一个重点问题。这一问题的实质就是JAVA对于非JAVA代码(主要是C/C+代码)的调用问题。目前,对于这一问题的解决方法主要有以下几种。3.2.1JNI方案JAVA固有接口(JNI)是一种包容极广的编程接口,允许我们从JAVA应用程序里调用固有方法。从编程角度看,JNI相当于制作了一个框架,为JAVA程序与本地机的其他语言编写的程序搭起一座桥梁。使JAVA程序能够调用其他语言编写的功能块。同时也能够使其他语言编写的程序能用JAVA语言中的实体。关系如图5。图5JAVA是以调用动态连接库(DLL)的形式调用C/C+程序。假设在工程图学智能识别系统中有一个名为dllNative.dll的文件,里面定义了一个compare()函数来用于比较两个AutoCAD文件的内部元素。现在在test包中有一个名为cNative的类要调用compare()方法,代码如下:package testl;public class cNativepublic native void compare(); /声明本地方法static System.loadLibrary(“dllNative”); /装载动态连接库文件public cNative()public static void main(String args) (new cNative().compare(); /调用C+本地方法利用javac.exe或其他编译工具将JAVA源文件编译成类文件,再利用javah.exe将JAVA类文件生成JNI风格的头文件,生成的头文件的代码如下:#include#ifndef _Include_test_cNative#define _Include_test_cNative#ifdef _cplusplusextern“C” #endif JNIEXPORT void JNICALL Java_test_cNative_compare(JNIEnv *,jobject); #ifdef _cplusplus#endif#endif通过在头中得到的本地方法原形,编写本地方法的部分代码如下:#include “test_cNative.h”JNIEXPORT void JNICALL Java_test_cNative_compare(JNIEnv *env,jobject obj) /添加操作码这样可以实现JAVA对C+方法的调用。3.2.2其他方案(1)运用CORBA:CORBA是一种集成技术,代表着一种具体的规范。CORBA的开发是力求定义一个标准框架,从而实现分布式、与语言无关对象的相互操作。利用CORBA,可实现对JAVA对象以及JAVA对象的调用。 (2)运用JAVA的RMI特性:用RMI同样可以实现JAVA代码对非JAVA代码的调用。(3)运用微软的解决方案:J/Direct是调用WIN32 DLL函数最简单的方式。它的主要设计目标是与WIN32 API打交道,但完全可用它调用其它任何API。此外,还有JAVA/COM集成,可从JAVA里直接揭示或调用COM服务。选择哪种方案可根据具体情况而定。这里有一点必须说明的就是SUN JAVA和MS JAVA的差异。JNI、CORBA和RMI均可以有SUN JAVA实现,J/Direct是微软根据MS JAVA开发的,用SUN JAVA开发的应用程序运用J/Direct还存在一些具体的技术问题需要解决。4结论网络教学是现代教学改革的一个趋势,工程制图的网络教学有其自身的特点。JAVA是一项新兴的技术,在网络运用中有着独特的优势。以JAVA作为开发工具,根据工程制图教学的特点,建立网络习题系统,可以充分发挥JAVA网络编程的优势,解决现在教学中教师作业批改任务繁重等问题,是工程制图教学改革的一个方向。参考资料:1 周文,基于ARX的工程图形智能识别系统,学位论文,分类号:O241.3 TH122,2001.2。2 何培英,常明,基于WEB的工程制图作业批改系统,工程图学学报,2001 No.4。3 何培英,窦宪民,工程制图网上答疑系统的设计与实现,工程图学学报, 2002 No.1。4 飞思科技产品研发中心,JAVA TCP/IP应用开发详解,北京:电子工业出版社。 2002.1。5 Bruce Eckel,JAVA编程思想,京京工作室译,北京:机械工业出版社,1999.4。6 金勇华,曲俊生等,JAVA网络高级编程,北京:人民邮电出版社,2001.4。作者简介:刘爱平,男,1979年2月生,汉,硕士研究生
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8.4 贵州省的环境保护与资源利用(说课稿)2023-2024学年八年级地理下册同步教学(湘教版河北专版)
- 3.11 北洋政府统治与军阀割据 说课稿 2023-2024学年部编版八年级历史上学期
- 湖南省长沙市雅礼教育集团2025-2026学年高一上学期入学考试物理试题
- 广东省平远县高中数学 第三章 导数及其应用 3.2.1 几个常用函数的导数说课稿 新人教A版选修1-1
- Unit4MyFavouriteSubject-OvertoYou教学设计鲁教版英语六年级上册
- 第四单元《第2课 奇异空间》说课稿 -湘美版(2024)初中美术七年级下册
- 安徽省六安市七年级地理上册 4.1 人口与人种说课稿 (新版)新人教版
- 2025年户外施工升降机租赁协议
- Unit2SafetyReadingClub12教学设计北师大版八年级英语上册
- 2.2.3因式分解法 教学设计 湘教版九年级数学上册
- GB/T 19418-2003钢的弧焊接头缺陷质量分级指南
- 四川省参保单位职工社会保险费欠费补缴申报表
- GA 622-2013消防特勤队(站)装备配备标准
- 《C++语言基础》全套课件(完整版)
- 240农业政策学-张广胜课件
- 垄断经典案例课件
- HSK标准教程5下-课件-L2
- 《你看起来很好吃》剧本
- 毕业设计论文-计算机类
- 工作单位接收函
- 汽车发动机电控系统实训工作页
评论
0/150
提交评论