Java咖啡館:Java插件技術(一)
發表時間:2024-02-04 來源:明輝站整理相關軟件相關文章人氣:
[摘要]北京 Gary Chan1.Java插件技術 Java插件技術(Java Plug-in technology)是一個神奇的設計,它架起了時下流行的瀏覽器(包括Internet Explorer,下面簡稱IE,Netscape Navigator,下面簡稱NN以及Mozilla)與Java平臺...
北京 Gary Chan
1.Java插件技術
Java插件技術(Java Plug-in technology)是一個神奇的設計,它架起了時下流行的瀏覽器(包括Internet Explorer,下面簡稱IE,Netscape Navigator,下面簡稱NN以及Mozilla)與Java平臺之間的橋梁。也就是說,只需要一個瀏覽器,它不必內置Java虛擬機(比如與Windows XP捆綁銷售的IE 6),也不必特意安裝Java運行環境,在打開包含Java Applet的網頁時,只要按照瀏覽器提示安裝這個Java插件后便能任意運行Applet了,而這個安裝過程與安裝Macromedia Flash、3721等插件一樣簡單。
要知道,Java插件技術與我們上回咖啡館中介紹的運行Applet的方法有著本質上的區別。
在上回Java咖啡館中,我向大家介紹了Applet編寫過程,以及在IE中運行Applet的方法。回憶一下,我們是通過在HTML網頁中嵌入<applet>標簽實現的。實際上,如果你的系統中已經安裝Java運行時環境時,當瀏覽器遇到<applet>標簽時,瀏覽器便會啟動Java虛擬機,從網上下載Applet的class文件后執行它。這種方法有兩個明顯缺點:第一,如果系統中如果沒有Java運行時環境,瀏覽器便會名正言順地怠工,拒絕執行Applet;第二,如果系統中的Java運行時環境版本過低,而Applet又使用了新版本中的新技術,這也將導致Applet運行不正常。
而Java插件技術可以很好解決這兩個問題。本質上,Java插件技術是借助瀏覽器的插件機制給客戶端安裝或更新Java運行時環境的技術。目前流行的瀏覽器都有插件機制,比如Mozilla、NN的plug-in技術,IE的ActiveX構件技術。當這些瀏覽器遇到網頁中Java插件標簽時,會自動連接到Sun公司的服務器下載或者更新Java運行時環境,然后可以運行Applet程序了。省卻了用戶自行安裝Java運行時環境的不便,這真是一個漂亮的實現。
2.通過Java插件技術調用Applet
Java插件技術不能依靠<applet>標簽調用Applet了,你必須像調用其他NN的插件或者IE的ActiveX構件一樣調用Java插件。
還是拿例子來說明一下。我們原先的sample.htm網頁是這樣調用Applet的:
<applet code="NewsApplet.class" codebase="." width=480 height=384>
<param name="from" value="Prince Charming">
<param name="to" value="Cinderella">
</applet>
對應于NN的Java插件,需要這么寫:
<embed type="application/x-java-applet;jpi-version=1.5"
code="NewsApplet.class"
width=480
height=384
pluginspage = "http://java.sun.com/products/plugin/index. html#download"
from="Prince Charming"
to="Cinderella">
</embed>
而對應于IE的ActiveX構件技術的Java插件,需要這么寫:
<object classid="clsiD:CAFEEFAC-0015-0000-0000-ABCDEFFEDCBA"
codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0-Windows-i586.cab#Version=1,5,0,0"
width=480 height=384>
<param name="code" value="NewsApplet.class">
<param name = "type" value = "application/x-java-applet;jpi-version=1.5">
<param name="from" value="Prince Charming">
<param name="to" value="Cinderella">
</object>
當然,如果想寫出可以適應所有瀏覽器的調用Java插件的代碼,可以利用NN忽略<object>與<comment> 標簽,以及IE忽略<embed>標簽的事實來個嵌套,類似于
<object ...>
<comment>
<embed ...>
</embed>
</comment>
</object>
這樣,無論是IE還是NN都會乖乖執行Applet并且讓王子對灰姑娘說出那一個字了。