Java、Java Applet与 JavaScript间的通信

郭小帅home

郭小帅home

2016-02-19 16:27

下面图老师小编跟大家分享一个简单易学的Java、Java Applet与 JavaScript间的通信教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

  摘 要:本文着重阐述了网页开发中,通过灵活使用从JavaScript语言中访问Java的方法、从JavaScript中访问JavaScript小程序的方法与变量,以及在Java Applet小程序中使用JavaScript等技术,实现这几种网页开发语言的互相补充,以开发更完美的Web应用程序。

  JavaScript是用于HTML环境的开发语言,提供了能够响应Web页面事件的脚本,可以完全访问浏览器窗口的各个方面,善于合并HTML、Java Applet小程序、插入件、服务器方程序和其他Web组件,形成完全集成的Web应用程序。而Java是功能强大的著名开发语言,能够支持Web应用程序的开发,用于开发高级Web对象,并提供实现嵌入Web页面的可执行内容,具有更强的编程功能,可以作为JavaScript功能的良好补充,只不过这些功能被限制在有限的浏览器窗口区中。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  Java与JavaScript可以互相补充,以开发功能更完美的Web应用程序。本文归纳了笔者编程中曾使用过的,涉及到有关JavaScript与Java、Java Applet小程序之间互访的问题的一些方法,仅供参考。

  一、从JavaScript中访问Java方法

  在HTML脚本中可以用JavaScript直接调用Java中的方法,只需要在调用语句前用java.lang.加以表示即可。具体语句用法如下例所示:

  java.Lang.System.Out.println(Hello!)

  但此种方法只适用于Netscape Navigator,一般不提倡在Web应用程序中使用。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  二、从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"
PEnter 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。值得一提的是,本文中程序示例加下划线的部分,要特别引起注意。

展开更多 50%)
分享

猜你喜欢

Java、Java Applet与 JavaScript间的通信

编程语言 网络编程
Java、Java Applet与 JavaScript间的通信

JAVA卡与APPLET

编程语言 网络编程
JAVA卡与APPLET

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java Applet介绍

编程语言 网络编程
Java Applet介绍

JavaScript和Java Applet有什么区别?

Web开发 语言程序设计
JavaScript和Java Applet有什么区别?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

慎防恶意的Java Applet

编程语言 网络编程
慎防恶意的Java Applet

Java Applet的应用技巧

编程语言 网络编程
Java Applet的应用技巧

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用Java Servlet实现文件上载

用Java Servlet实现文件上载

MAC修改Launchpad背景效果的方法

MAC修改Launchpad背景效果的方法
下拉加载更多内容 ↓