- 浏览: 203610 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (138)
- Linux - Adiministration (4)
- Linux - Shell (3)
- Linux - Programming (10)
- Linux - Miscellaneous (57)
- Theory - Data Structure & Algorithm (2)
- Theory - Fundamentals of Compiling (0)
- Theory - Operating System (0)
- Theory - Database (0)
- Theory - Miscellaneous (0)
- Oracle (16)
- J2SE&J2EE (32)
- 杂项 (8)
- UCM (1)
- English (1)
- 我的超级菜谱 (1)
- Case - J2EE Tutorial (0)
- Case - J2EE架构师之优秀枪手 (10)
- Apache项目学习 (0)
最新评论
-
yaolixing01:
他山界面开发框架 v22是一套基于Gecko v22 的开源收 ...
Firefox Plugin - Gecko SDK/npapi -
chenpeilei2003:
您是这篇博文的原创吗 , 我通篇看完了, 很受教。
学习的目 ...
如何系统地学习linux? -
inprice:
羊蝎子 -
inprice:
...
羊蝎子 -
RobertLeeJesus:
因为我有两台T61
我安装Solaris的全过程。
javascript与applet之间能够相互通讯给我们带来了很多方便,Java与JavaScript互相补充,以开发功能更完美的Web应用程序。B/S下能够充分利用java的优势,给我们带来更多的网络体验, 方便用户。我用的比较多的是利用Swing组件开发的应用程序利用applet实现B/S下架构, 这样能够充分显示Swing组件的优势,便于系统升级,便于维护;还有就是在WEB下,有时客户端要使用本地的硬件资源,我所知道的是通过applet来实现,通过applet去调用javaAPI(jni,javacomm20-win32【详见http://www.iteye.com/topic/64859】)来实现。不知道有没有类似applet的实现方式,我想应该有的。我们具体来看看javascript与applet之间到底是怎样通讯的呢?
1.JavaScript访问Applet
Test.java
import java.awt.*; import java.applet.*; public class Test extends Applet { public void init() { } public void paint(Graphics g) { g.drawString("Welcome to Java!!", 50, 60 ); } public void win() { Frame fr = new Frame("good"); fr.setSize(300,300); fr.setVisible(true); } }
Test.html
<HTML> <HEAD> </HEAD> <BODY BGCOLOR="000000"> <CENTER> <APPLET id="my" name="my" code="Test.class" width="500" height="300"> </APPLET> <input type="submit" name="Submit" value="Submit" onClick="kc()"> </CENTER> <script language="javascript"> function kc() { document.my.win(); } </script> </BODY> </HTML>
Rules
<applet name="appletName" ....../> //JavaScript访问Applet属性 window.document.appletName.appletField (属性必须是public的,"window.document."也可以不写) /JavaScript访问Applet方法 window.document.appletName.appletMethod (方法必须是public的,"window.document."也可以不写)
2. Applet访问JavaScript
Live Connect提供了Java与JavaScript的接口,可以允许在Java Applet小程序中使用JavaScript。需要用到一个jar包,在C:\WINNT\java\Packages目录下找,大概有5M多,其实就是打开看哪个有netscape.javascript.JSObject。如果没有装个NetScape或从网上下都可以。可以把它重命名为netscape.jar(不是必须的),一定要加入到classpath,目的是使开发的时候能够编译。注意:部署时不需要包括netscape.jar,因为整个包会下载到客户端,影响速度。
新版本的JRE包括了这些类, Java\jre6\lib\plugin.jar#netscape\javascript\JSObject, 这个类应该可以用在IE和firefox里。
//引入netscape类 import netscape.javascript.JSObject; import netscape.javascript.JSException; //可允许在小程序中处理异常事件 win=JSObject.getWindow(this); // 获取JavaScript窗口句柄,引用当前文档窗口 doc=(JSObject)win.getMember("document"); // 访问JavaScript document对象 form=(JSObject)doc.getMember("textForm"); //访问JavaScript form对象 textField=(JSObject)form.getMember("textField");访问JavaScript text对象 text=(String) textField.getMember("value"); //获取文本区的值 // 调用JavaScript的alert()方法 win.eval("alert(\"This alert comes from Java!\")"); // 调用JavaScript的myFunction(message)方法 win.call("myFunction", new Object[]{"Hello"});//参数用数组的形势表示。
注意: 你必须在<applet/>标记中加入MAYSCRIPT才能够调用JSObject对象,不然会抛出JSException异常。你也不必初始化他们,在什么地方用就在什么地方用吧。
3 简单的Applet访问JavaScript
使用getAppletContext().showDocument(new URL("javascript:alert(1)"));
import java.net.*; public class inJava extends Applet{ public void init(){ String msg = "We will jump to an HTML tag"; try { getAppletContext().showDocument(new URL("javascript:doAlert(\"" + msg +"\")")); getAppletContext().showDocument(new URL("javascript:jumpTo(\"#JUMP\")")); } catch (MalformedURLException me) { } } }
<HTML><HEAD></HEAD><BODY> <SCRIPT> function doAlert(s) { alert(s); } function jumpTo(tag) { self.location=tag; } </SCRIPT> <APPLET CODE="inJava.class" NAME="myApplet" MAYSCRIPT HEIGHT=400 WIDTH=10> </APPLET> <P> <A NAME="JUMP">jump here from Java via Javascript</A> </BODY></HTML>
发表评论
-
Converter between XML and Java Bean
2009-08-14 22:10 857Not done. -
一直在linux下运行服务器,今天尝试了一下windows下的websphere,也很不错
2009-06-26 20:45 11831. 默认的websphere试用版安装作为一个windows ... -
J2EE Security
2009-06-25 13:56 798J2EE Security -
Jave VM memory Arg/Java 虚拟机内存参数
2009-05-22 16:05 3290http://winywan.com/index.php ... -
Weblogic/ADF/Fussion Middleware
2009-05-22 00:35 954http://download.oracle.com/docs ... -
BufferredOutputStream
2009-05-16 20:08 870BufferredOutputStream is not im ... -
How to configure OID Authentication in Weblogic
2009-04-28 23:22 1991Oracle WebLogic Server provid ... -
oid/oim/ldap/jndi API
2009-04-28 22:45 1963Reference http://download. ... -
EAR/WAR/JAR(EJB) structure
2009-04-16 01:38 802http://www.oracle.com/technolog ... -
Oracle Appserver remote deployment
2009-04-03 11:02 834java -jar admin_client.jar depl ... -
浏览器Plugin总结(ActiveX vs. Gecko SDK)
2009-03-12 22:22 2732Java Applet Java Applet run ... -
Firefox Plugin - Gecko SDK/npapi
2009-03-12 21:40 13029原文: 1. http://mqjing.blogspot ... -
Oracle Appserver - Common Logging - Log4j
2009-02-24 11:42 1308In Oracle Appserver, when an EA ... -
Common Logging
2009-02-24 00:27 9541. Specify the log implementati ... -
Log4j
2009-02-24 00:16 9291. Default property file. CLA ... -
JDK 1.4 Logging
2009-02-23 23:26 11371. Default property file. By ... -
Java Knowledge - Miscelaneous
2009-02-22 00:16 632See attachment! -
ant 和 java的关系
2009-02-10 18:19 10971. ant中的javac使用哪个jdk的bootstrap ... -
How to use the Junit in JDeveloper
2008-10-28 18:05 855See Attachment. -
How to develop extension in JDeveloper?
2008-10-28 18:02 749See Attachment.
相关推荐
#### 三、JavaScript与Applet相互通讯的意义 JavaScript与Applet之间的相互通讯具有重要意义: - **增强用户体验**:通过Applet,开发者可以利用Java的强大功能,如图形界面、网络通信等,这使得Web应用程序更加...
要实现Java与JavaScript之间的通信,我们需要使用Java的`LiveConnect`技术。`LiveConnect`是JavaScript和Java之间的一种桥梁,它允许JavaScript调用Java对象的方法,传递数据,反之亦然。在JavaScript中,我们可以...
- **文本与解码**:Web页面主要由HTML、CSS和JavaScript等技术构建,其中HTML用于定义页面结构,CSS用于定义样式,JavaScript用于实现交互。 - **客户/服务器模型**:Web服务采用客户端/服务器架构,客户端通过...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
2. **基于计算机辅助的决策方法**:这种方法也是以人为核心,但多学科专家之间的协作不再局限于面对面的会议,而是通过网络通讯和多媒体会议等方式进行远程协同,实现了信息和数据的共享。随着计算机网络技术的快速...