什麼是applet

來源:互聯網
上載者:User

標籤:運行   對象   socket   載入   安全性   開啟   標準   線程   運行時   

applet是一種Java程式。它一般運行在支援Java的Web瀏覽器內。因為它有完整的Java API支援,所以applet是一個全功能的Java應用程式。

如下所示是獨立的Java應用程式和applet程式之間重要的不同:

  • Java中applet類繼承了 java.applet.Applet類
  • Applet類沒有定義main(),所以一個 Applet程式不會調用main()方法,
  • Applets被設計為嵌入在一個HTML頁面。
  • 當使用者瀏覽包含Applet的HTML頁面,Applet的代碼就被下載到使用者的機器上。
  • 要查看一個applet需要JVM。 JVM可以是Web瀏覽器的一個外掛程式,或一個獨立的運行時環境。
  • 使用者機器上的JVM建立一個applet類的執行個體,並調用Applet生命週期過程中的各種方法。
  • Applets有Web瀏覽器強制執行的嚴格的安全規則,applet的安全機制被稱為沙箱安全。
  • applet需要的其他類可以用Java歸檔(JAR)檔案的形式下載下來。
二、工作原理    Java Applet 可以大大提高Web頁面的互動能力和動態執行能力。包含Applet的網頁被稱為Java-powered頁,可以稱其為Java支援的網頁。當Applet 使用者訪問這樣的網頁時,Applet被下載到使用者的電腦上執行,但前提是使用者使用的是支援Java的網路瀏覽器。由於Applet是在使用者的電腦上執行的,所以它的執行速度不受網路頻寬或者Modem存取速度的限制,使用者可以更好地欣賞網頁上Applet產生的多媒體效果。 在Java Applet中,可以實現圖形繪製,字型和顏色控制,動畫和聲音的插入,人機互動及網路交流等功能。 Applet還提供了名為抽象視窗工具箱(Abstract Window Toolkit, AWT)的視窗環境開發工具。 AWT利用使用者電腦的GUI元素,可以建立標準的圖形化使用者介面,如視窗、按鈕、捲軸等等。目前,在網路上有非常多的Applet範例來生動地展現這些功能,讀者可以去調閱相應的網頁以觀看它們的效果。Applet 小應用程式的實現主要依靠java.applet包中的Applet類。與一般的應用程式不同,Applet應用程式必須嵌入在HTML頁面中,才能得到解釋執行;同時Applet可以從Web頁面中獲得參數,並和Web頁面進行互動。Applet是一種Java的小程式,它通過使用該Applet的HTML檔案,由支援Java的網頁瀏覽器下載運行。也可以通過java開發工具的appletviewer來運行。Applet 程式離不開使用它的HTML檔案。這個HTML檔案中關於Applet的資訊至少應包含以下三點:1)位元組碼檔案名稱(編譯後的Java檔案,以.class為尾碼)2)位元組碼檔案的地址3)在網頁上顯示Applet的方式。一個HTML檔案增加Applet有關的內容只是使網頁更加富有生氣,如添加聲音、動畫等這些迷人的特徵,它並不會改變HTML檔案中與Applet無關的元素。安全性限制為了防止這樣的問題出現,在預設的情況下,大多數瀏覽器在Applet安全方面受到諸多的限制,幾乎不能對系統進行任何“讀”或“寫”的操作:1. 不允許Applet訪問本地檔案系統2. Applet不能執行任何本機電腦上的程式3. 不允許Applet嘗試開啟除提供Applet的伺服器之外的任何系統的Socket4. 不允許Applet訪問使用者名稱、電子郵件地址等與本地系統有關的資訊5. 對於Applet而言,Java環境中的某些標準系統屬性是唯讀6. Applet不能建立或裝載Applet的機器的網路連接7. Applet不能充當網路伺服器,監聽或接收來自遠程系統的串連請求8. 不允許Applet裝載動態庫或定義本地方法調用9. Applet不能操縱不在自己線程組中的任何線程10. Applet不能關閉JVM。

三、應用程式轉換成Applet

將圖形化的Java應用程式(是指,使用AWT的應用程式和使用java程式啟動器啟動的程式)轉換成嵌入在web頁面裡的applet是很簡單的。

下面是將應用程式轉換成applet的幾個步驟:

  • 編寫一個HTML頁面,該頁面帶有能載入applet代碼的標籤。
  • 編寫一個JApplet類的子類,將該類設定為public。否則,applet不能被載入。
  • 消除應用程式的main()方法。不要為應用程式構造架構視窗,因為你的應用程式要顯示在瀏覽器中。
  • 將應用程式中架構視窗的構造方法裡的初始化代碼移到applet的init()方法中,你不必顯示的構造applet對象,瀏覽器將通過調用init()方法來執行個體化一個對象。
  • 移除對setSize()方法的調用,對於applet來講,大小已經通過HTML檔案裡的width和height參數設定好了。
  • 移除對 setDefaultCloseOperation()方法的調用。Applet不能被關閉,它隨著瀏覽器的退出而終止。
  • 如果應用程式調用了setTitle()方法,消除對該方法的調用。applet不能有標題列。(當然你可以給通過html的title標籤給網頁自身命名)
  • 不要調用setVisible(true),applet是自動顯示的。

四、總結

  Applet程式只能嵌入到HTNL網頁中通過瀏覽器來運行,目的是為了增強網頁的表現能力和互動方式。

什麼是applet

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.