国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Java、Java Applet與 JavaScript間的通信

2019-11-18 11:56:39
字體:
來源:轉載
供稿:網友

   摘 要:
  
   本文著重闡述了網頁開發中,通過靈活使用從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。值得一提的是,本文中程序示例加下劃線的部分,要非凡引起注重。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雅江县| 双桥区| 唐河县| 香格里拉县| 山东省| 台安县| 武夷山市| 巫溪县| 榆树市| 虞城县| 纳雍县| 隆化县| 杭州市| 东方市| 绥江县| 西宁市| 北票市| 宁都县| 菏泽市| 大洼县| 奇台县| 墨竹工卡县| 综艺| 遵义市| 信宜市| 浑源县| 五华县| 务川| 电白县| 泸西县| 宣化县| 新河县| 淳安县| 社旗县| 新化县| 道孚县| 瑞昌市| 舟山市| 珲春市| 竹北市| 南澳县|