域名注册|域名申请|域名空间|空间租用|虚拟主机租用
中域互联诚意为您提供域名注册、虚拟主机等网络服务,欢迎光临,热线:020-32676839、32696039
118 繁體中文 118 联系我们    118 关于我们    118 建站信息中心    118 显示在线咨询
118
118
虚拟主机

JAVA、JAVA APPLET与 JAVASCRIPT间的通信

javascript 点击次数:665

摘 要:本文着重阐述了网页开发中,通过灵活使用从JAVASCRIPT语言中访问JAVA的方法、从JAVASCRIPT中访问JAVASCRIPT小程序的方法与变量,以及在JAVA APPLET小程序中使用JAVASCRIPT等技术,实现这几种网页开发语言的互相补充,以开发更完美的WEB应用程序。
 
 
JAVASCRIPT是用于HTML环境的开发语言,提供了能够响应WEB页面事件的脚本,可以完全访问浏览器窗口的各个方面,善于合并HTML、JAVA APPLET小程序、插入件、服务器方程序和其他WEB组件,形成完全集成的WEB应用程序。而JAVA是功能强大的著名开发语言,能够支持WEB应用程序的开发,用于开发高级WEB对象,并提供实现嵌入WEB页面的可执行内容,具有更强的编程功能,可以作为JAVASCRIPT功能的良好补充,只不过这些功能被限制在有限的浏览器窗口区中。
JAVA与JAVASCRIPT可以互相补充,以开发功能更完美的WEB应用程序。本文归纳了笔者编程中曾使用过的,涉及到有关JAVASCRIPT与JAVA、JAVA APPLET小程序之间互访的问题的一些方法,仅供参考。
一、从JAVASCRIPT中访问JAVA方法 
在HTML脚本中可以用JAVASCRIPT直接调用JAVA中的方法,只需要在调用语句前用“JAVA.LANG.”加以表示即可。具体语句用法如下例所示:
JAVA.LANG.SYSTEM.OUT.PRINTLN(“HELLO!”)
但此种方法只适用于NETSCAPE NAVIGATOR,一般不提倡在WEB应用程序中使用。
二、从JAVASCRIPT中访问JAVA APPLET小程序中的方法和变量
通过JAVASCRIPT提供的APPLET对象,JAVASCRIPT代码可以访问JAVA的变量和方法,具体步骤和用法示例如下。需要注意的是,JAVASCRIPT提供的APPLET对象具有NAME属性,而没有方法和事件处理器。
步骤:
1) 将要访问的JAVA APPLET小程序的方法和变量声明为PUBLIC,且必须在PUBLIC类中声明;
2) JAVA APPLET小程序要先装入才能访问,尽管APPLET对象没有定义ONLOAD事件,但可以在HTML文档的〈BODY〉标志中,指定使用WINDOW对象的ONLOAD事件处理器;
3) JAVA APPLET小程序可以用JAVASCRIPT的APPLET对象来访问。
示例:
“MYTEST.HTM”
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT">
FUNCTION ACCESSAPPLET()
{ SETTIMEOUT("CHANGETEXT(I LIKE JAVASCRIPT!)",1000);
SETTIMEOUT("CHANGETEXT(I LIKE JAVASCRIPT AND JAVA!)",2000);
SETTIMEOUT("CHANGETEXT(I LIKE JAVA!)",3000);
SETTIMEOUT("ACCESSAPPLET()",4000);
}
FUNCTION CHANGETEXT(S)
{
WINDOW.DOCUMENT.TESTTEXT.SETTEXT(S) 
//此处调用JAVAAPPLET小程序的SETTEXT()方法
//注意,小程序的名字必须为〈APPLET〉标志 NAME属性所标识
}
</SCRIPT>
</HEAD>
<BODY ONLOAD="ACCESSAPPLET()"> 
//通过调用ACCESSAPPLET()装入小程序
<APPLET CODE="TESTTEXT.CLASS" NAME="TESTTEXT" WIDTH=450 HEIGHT=150>
</APPLET>
</BODY>
</HTML>
“TESTTEXT.JAVA”
IMPORT JAVA.APPLET.*;
……
PUBLIC CLASS TESTTEXT EXTENDS APPLET
{ ……
PUBLIC VOID SETTEXT(STRING S) //SETTEXT()必须声明为“PUBLIC”
{
TEXT=S;
REPAINT();
}
}
三、在JAVA APPLET小程序中使用JAVASCRIPT
LIVE CONNECT提供了JAVA与JAVASCRIPT的接口,可以允许在JAVA APPLET小程序中使用JAVASCRIPT。具体步骤如下:
1) 在HTML脚本中使用〈APPLET〉标志的MAYSCRIPT属性,以允许JAVA APPLET小程序访问脚本;
2) 将NETSCAPE. JAVASCRIPT包导入JAVA APPLET小程序;
3) 在JAVA APPLET小程序中用JSOBJECT类的GETWINDOW( )方法创建JAVASCRIPT窗口的句柄;
4) 在JAVA APPLET小程序中用JSOBJECT类的GETMEMBER( )方法访问JAVASCRIPT对象;
5) 在JAVA APPLET小程序中用JSOBJECT类的EVAL( )方法调用JAVASCRIPT方法。
示例:
“READFORM. JAVA”
IMPORT NETSCAPE.JAVASCRIPT.JSOBJECT;
IMPORT NETSCAPE.JAVASCRIPT.JSEXCEPTION; //可允许在小程序中处理异常事件
……
WIN=JSOBJECT.GETWINDOW(THIS); // 获取JAVASCRIPT窗口句柄,引用当前文档窗口
DOC=(JSOBJECT)WIN.GETMEMBER("DOCUMENT"); // 访问JAVASCRIPT对象
FORM=(JSOBJECT)DOC.GETMEMBER("TEXTFORM");
TEXTFIELD=(JSOBJECT)FORM.GETMEMBER("TEXTFIELD");
TEXT=(STRING) TEXTFIELD.GETMEMBER("VALUE"); //获取文本区的值
……
WIN.EVAL("ALERT("THIS ALERT COMES FROM JAVA!")");
// 调用JAVASCRIPT的ALERT()方法
……
“USER.HTM”
……
<BODY>
<FORM NAME="TEXTFORM">
<P>ENTER TEXT AND THEN CLICK DISPLAY TEXT:
<INPUT TYPE="TEXT" NAME="TEXTFIELD" SIZE="20"></P>
</FORM>
<APPLET CODE="READFORM.CLASS" WIDTH=200 HEIGHT=100 NAME="READAPP" MAYSCRIPT>
//必须使用MAYSCRIPT属性标志
</APPLET>
</BODY> 
 


附表列举了JSOBJECT类的方法和描述,更详细的说明可以参考MSDN。值得一提的是,本文中程序示例加下划线的部分,要特别引起注意。
 

 

欢迎转载《JAVA、JAVA APPLET与 JAVASCRIPT间的通信》,请保留出处。
返回首页 | 关于我们 | 联系我们 | 付款方式118 | 帮助中心 | 提问帮助 | 中域互联招聘 网站地图 建站信息中心
客服1号:619086478 客服2号:759043498 客服3号:419602084 客服4号:707187709
技术1号:502825590 技术2号:609223275 技术3号:347054506 网站备案:626709096
电话:020-32676839、32696039、32651958 传真:020-32677208 邮件和MSN:service@118cy.net 118
广州市炬正通信技术有限公司 地址:广州市黄埔大道中员村白马岗街艾琳大楼406 邮编:510655 
《中华人民共和国增值电信业务经营许可证》ISP证编号:粤B2-20080048  粤ICP备07025283号
广州虚拟主机提供商-中域互联营业执照