日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Applet简介

發布時間:2023/12/18 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Applet简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Applet是Java中另一類常用的應用程序,與應用程序(Application)由Java解釋器直接執行不同,Applet是專門用來在Web頁面中運行的程序,它通常是從服務器下載到用戶的計算機中運行的。它的執行效率不受網絡聯機速率的影響,執行時也不會占用網絡帶寬,因此,Applet的應用相當廣泛。

本章將探討如何開發Java Applet。

15.1? Applet簡介

Applet是一個小型Java應用程序,可以在Applet Viewer或Web瀏覽器內執行。Applet源文件的擴展名和一般Java應用程序相同,都是.java。編譯過的Applet也是擴展名為.class的類文件,區別在于該類文件需要在瀏覽器中執行。

Java Applet 是用Java語言編寫的一些小的應用程序,這些程序是直接潛入到頁面中,由支持Java的瀏覽器(IE或Netscape)解釋執行,能夠產生特殊效果。它可大大提高Web交互能力和動態執行能力。包含JavaApplet的網頁被稱為java-powered頁,也可以稱其為Java支持的網頁。

用戶訪問這樣的網頁時,Applet被下載到本地執行,前提是用戶所使用的必須是支持Java的網絡瀏覽器。

Applet小應用程序的實現主要是靠java.Applet包中的Applet類,不同于一般應用程序,它必須嵌入在HTML頁面中才能被解釋執行,并且Applet可以從Web頁面中獲得參數,并和Web頁面進行交互。

含有Applet的網頁的HTML中必須帶有<Applet>和</Applet>這樣一對標記,當支持Java的網絡瀏覽器遇到這對標記時就會下載相應的小程序代碼并在本地計算機上執行該Applet小程序。

Applet是一種Java的小程序,它通過使用該Applet的HTML文件,由支持Java的網頁瀏覽器下載運行。也可以通過Java開發工具的AppletViewer來運行。Applet程序離不開使用它的HTML文件。這個HTML文件中關于 Applet的信息至少應包含以下3點:(1)字節碼文件名(編譯后的Java文件,以.class為后綴);(2)字節碼文件的地址;(3)在網頁上顯示Applet的方式。

一個HTML文件增加Applet有關的內容只是使網頁更加富有生氣,如添加聲音、動畫等這些吸引人的特征,它并不會改變HTML文件中與Applet無關的元素。

15.1.1? Applet基本運作流程

從前一小節的介紹中可以看到,Applet在執行前會通過網絡下載到客戶端,只要客戶端瀏覽器內安裝適當的Java虛擬機,即可以執行下載的Applet。

Applet的基本運作流程如下。

(1)當瀏覽器試圖打開包含Applet的網頁時,會先啟動JVM。

(2)瀏覽器將<Applet>標記所定義的信息傳送給JVM類加載器。

(3)在類加載時會有一個認證機制來檢查欲加載的類是否合法。確認了類是合法之后,Applet才會被執行。

15.1.2? Applet的安全機制

由于Applet 是需要通過網絡傳播,并要在被訪問者的機器上執行,所以一定要對Applet的執行加以限制。Java中的SecurityManage類專門用來防止安全漏洞的出現,它能監控幾乎所有的虛擬機上的系統級調用。這種安全防范機制稱為沙箱(sandbox)安全模式。即Java虛擬機為Applet的執行提供一個沙箱,如果程序的執行一旦試圖離開沙箱,它的運行就會被禁止。

在這種安全模式下,Applet不能在運行中調用其他程序,不能對文件進行讀寫操作,不能裝載動態鏈接庫或調用本地方法,也不能試圖打開非提供Applet的主機以外的某個socket。Applet只能和原來的Web服務器進行數據交換,而無法將數據傳送到其他計算機。

有了這些嚴格的保護措施,可以將用戶面臨的安全性風險降到最低。

15.1.3? Applet的生命周期

與Applet的生命周期相關的主要方法有init()、start()、stop()和destroy()。

當Applet被下載到瀏覽器上初次運行時,init()方法被調用來完成數據的初始化工作。

接著,start()方法被調用,各種任務通常都在該方法中執行。與init()方法只在下載后執行一次不同,start()方法在每次瀏覽器被重新激活時都會被調用。

stop()方法在每次瀏覽器被最小化或其他窗口被激活時被調用,停止一些在start()方法中定義的操作。

瀏覽器被關閉時,destroy()方法被調用來清除分配給Applet的資源。

15.1.4? 開發Applet的JDK版本

隨著Java技術的發展,僅是JDK就分為好幾個版本。一些開發人員偏好以較新的JDK來開發程序,但是他們往往忽略的一點就是在一般情況下,用戶通常不會自行更新瀏覽器的版本。

因此經常會發生某些人可以正常執行Applet,但是其他人卻無法執行的問題。針對上述問題,可以從以下兩個方面著手。

(1)要求或協助公司內所有員工的Web瀏覽器必須更新。

(2)如果Applet應用程序可通過Internet存取,可以在網頁內加上警告信息,例如“為達到最佳執行效果,請確定我們的瀏覽器版本為XXX以上”。

如果遭遇到瀏覽器JDK版本不合的問題,可參考下列幾個解決方案。

(1)使用Java外掛程序(plug-in)。大部分的JDK不相容問題都可以經由Java外掛程序來解決。舉例來說,如果Applet使用了Swing程序庫,但是客戶端瀏覽器的JDK版本太舊,無法支持Swing。可以要求客戶端更新瀏覽器版本,或是到網站http://java.sun.com/ products/plugin/尋找適當的外掛程序。

(2)開發時期所使用的JDK版本盡量與客戶端一致。

(3)使用Java Web Start。Java Web Start是Sun Microsystem公司所研發的一項新技術。用戶可以在網頁內單擊某個鏈接,由此啟動Applet或其他應用程序。這項技術能夠有效解決JDK版本不合的問題,只要客戶端瀏覽器事先安裝Java Web Start外掛程序,就可以正確無誤地執行Applet。

總結

以上是生活随笔為你收集整理的Applet简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。