web學習--java applets

1.什麼是java Applet?html

  Applet是一種採用java語言編寫的小應用程序,它能夠被嵌入網頁中,當用戶訪問這樣的網頁時,Applet被下載到用戶的計算機上運行,但前提是具備讓applet運行的環境。Applet必須運行於某個特定的「容器」,這個容器能夠是瀏覽器自己,也能夠是經過各類插件,或者包括支持Applet的移動設備在內的其餘各類程序來運行。與通常的Java應用程序不一樣,Applet不是經過main方法來運行的。在運行時Applet一般會與用戶進行互動,顯示動態的畫面,而且還會遵循嚴格的安全檢查,阻止潛在的不安全因素。java

2.java應用程序和Applet程序的區別web

  • Java 中 Applet 類繼承了 java.applet.Applet 類。
  • Applet 類沒有定義 main(),因此一個 Applet 程序不會調用 main() 方法。
  • Applet 被設計爲嵌入在一個 HTML 頁面。
  • 當用戶瀏覽包含 Applet 的 HTML 頁面,Applet 的代碼就被下載到用戶的機器上。
  • 要查看一個 Applet 須要 JVM。 JVM 能夠是 Web 瀏覽器的一個插件,或一個獨立的運行時環境。
  • 用戶機器上的 JVM 建立一個 Applet 類的實例,並調用 Applet 生命週期過程當中的各類方法。
  • Applet 有 Web 瀏覽器強制執行的嚴格的安全規則,Applet 的安全機制被稱爲沙箱安全。
  • Applet 須要的其餘類能夠用 Java 歸檔(JAR)文件的形式下載下來。

3.Applets的工做原理小程序

  當用戶訪問帶有Applets的網頁時,Applet被下載到用戶的計算機上執行,因爲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的信息至少應包含如下三點:網絡

  • 字節碼文件名(編譯後的Java文件,以.class爲後綴)
  • 字節碼文件的地址
  • 在網頁上顯示Applet的方式。

4.Applets的生命週期oracle

  Applet類爲Applet執行提供了一個框架,定義了當事件發生時系統調用的方法。大多數applet會覆蓋一些或全部這些方法以適當地響應事件。app

  ①init:爲Applet提供初始化。Applet一般不具備構造函數的緣由是,在調用init方法以前,它們不能保證有完整的環境。保持init方法的簡短,以便applet可以快速加載。

  ②start:瀏覽器調用 init 方法後,該方法被自動調用。每當用戶從其餘頁面返回到包含 Applet 的頁面時,則調用該方法。

  ③stop:大部分重寫了start方法的也應該重寫stop方法。當用戶沒有停留在含有Applet的頁面時,應該中止Applet,以避免佔用資源。

  ④destroy:大部分applet不須要重寫destroy方法,由於它們的stop方法(在銷燬以前調用)將執行關閉Applet執行所必需的全部任務。可是,對於須要釋放額外資源的applet來講是必要的。

5.建立一個Applet

  ①編寫源文件

  ②打包

  ③部署

這裏我使用的官方的實例,下載地址:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

 

 詳細步驟:

  1.編譯applet的Java代碼,並確保全部類文件和資源(例如圖像)都位於一個單獨的目錄中。在DynamicTree演示applet的例子中,編譯的類放在 build/classes/appletComponentArch目錄中。

  2.對於DynamicTree演示Applet,建立一個名爲mymanifest.txt的文件。在build/classes目錄中,添加Permissions、Codebase和Application-Name屬性。Applet不須要訪問用戶的系統資源,所以可使用 sandbox 來得到權限。使用你爲代碼庫加載樣例的域,例如,myserver.com。將如下屬性添加到mymanifest.txt文件。

  3.建立一個包含applet類文件和資源的JAR文件。在mymanifest中包含清單屬性。在前一步中建立的txt文件。例如,下面的命令在build/classes/appletComponentArch目錄中建立了一個JAR文件,並在build/classes中建立了清單文件。

  4.使用已簽名的JNPL文件給JAP包簽名,並在打包前將該文件包含在JAR文件中。

 

  5.建立將顯示applet的HTML頁面。調用部署工具箱函數來部署applet。

最後,將你的JAR包,JNPL簽名文件,還有AppletPage放在同一個目錄下,能夠運行在本地,但最好放在web服務器上。若是沒法訪問,選擇支持運行的瀏覽器。這裏特別說明一下,本地的通常沒法運行,由於官方原話:

然而,進入java的控制面板

只能以http和https開頭,無果,只能直接放在web服務器上了,官方也推薦放在web服務器上。

最後運行效果:

參考文檔:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

     http://www.runoob.com/java/java-applet-basics.html

     https://baike.baidu.com/item/Applet/2723730?fr=aladdin

相關文章
相關標籤/搜索