標籤:baidu 查看 sync 檔案的 doc 屬性 而在 移除 model
Applet定義
Applet是一種運行於Web用戶端環境下的Java程式組件。
工作原理
Applet以代碼的形式嵌入Web頁面中,用標籤<applet></applet>標明,當支援Java的網路瀏覽器遇到這對標記時,就下載相應的應用程式代碼,並在本機電腦上執行Applet。
作用優勢
Applet可以提高Web頁面的互動能力和動態執行能力
開發步驟
(1)編輯Applet的java源檔案
(2)編譯Applet
(3)建立HTML檔案
(4)訪問HTML頁面,執行Applet
生命週期
Applet類中的四個方法提供一個架構,使用者在此架構上開發小程式
init: 此方法的目的是為Applet程式提供所需的任何初始化。在Applet標記內的param標籤被處理後調用此方法。
start: 瀏覽器調用init方法後,此方法被自動調用。每當使用者從其他頁面返回到包含Applet的頁面時,則調用此方法。
stop: 當使用者從包含Applet的頁面移除的時候,此方法自動被調用。因此,可以在相同的Applet中反覆調用此方法。
destroy: 此方法僅當瀏覽器正常關閉時調用。
paint: 此方法在start()方法之後立即被調用,或者在Applet需要重繪在瀏覽器的時候調用。paint方法實際上繼承於java.awt
安全性限制
1.不允許Applet訪問本地檔案系統
2.Applet不能執行任何本機電腦上的程式
3.不允許Applet嘗試開啟除提供Applet的伺服器之外的任何系統的Socket
4.不允許Applet訪問使用者名稱、電子郵件地址等與本地系統有關的資訊
5.對於Applet而言,Java環境中的某些標準系統屬性是唯讀
6.Applet不能建立或者裝載Applet機器的網路連接
7.Applet不能充當網路伺服器,監聽或接收來自遠程系統的串連請求
8.不允許Applet裝載動態庫或定義本地方法調用
9.Applet不能操縱不在自己線程組中的任何線程
10.Applet不能關閉JVM
獨立的Java應用程式和Applet程式之間的不同:
(1)Java中Applet類繼承了Java.applet.Applet類
(2)Applet類中沒有定義main(),所以一個Applet程式不會調用main()方法
(3)Applet被設計為嵌入在一個HTML頁面
(4)當使用者瀏覽包含Applet的HTML頁面,Applet的代碼被下載到使用者的機器上
(5)要查看一個Applet需要JVM,JVM可以是Web瀏覽器的一個外掛程式,或一個獨立的運行時環境
(6)使用者機器上的JVM建立一個Applet類的執行個體,並調用Applet生命週期過程中的各種方法
(7)Applet有Web瀏覽器強制執行的嚴格的安全規則,Applet的安全機制被稱為沙箱安全
(8)Applet需要的其他類可以用Java歸檔(JAR)檔案的形式下載下來
參考源:https://baike.baidu.com/item/Applet
http://www.runoob.com/java/java-applet-basics.html
AJAX定義
AJAX即Asynchronous JavaScript and XML(非同步JavaScript與XML技術),指的是一套綜合多項技術的瀏覽器端網頁開發技術。
類似於DHTML或LAMP,AJAX不是指一種單一的技術,而是有機地利用了一系列相關的技術。雖然其名稱包含XML,但實際上資料格式可以由JSON代替,進一步減少資料量,形成所謂的AJAJ。
表單缺陷
傳統的Web應用允許使用者端填寫表單(form)。當提交表單時向網頁伺服器發送一個請求,伺服器接收並處理傳來的表單,然後送回一個新的網頁。
而在前後兩個頁面中的大部分HTML代碼往往是相同的,由於每次應用的溝通都需要向伺服器發送請求,應用的回應時間依賴於伺服器的回應時間。導致使用者介面的回應比本機應用慢得多。
AJAX優勢
AJAX應用可以僅向伺服器發送並取回必須的資料,並在用戶端採用JavaScript處理來自伺服器的回應,因為在伺服器和瀏覽器之間交換的資料量大量減少,伺服器回應更快。同時,很多的處理工作可以在發出請求的用戶端機器上完成,因此Web伺服器的負荷也減少。
使用AJAX的最大優點,就是在不更新整個頁面的前提下維護資料。這使得Web應用程式更為迅捷地回應使用者動作,並避免在網路上發送沒有改變的資訊。
應用
(1)運用XHTML+CSS來表達資訊
(2)運用JavaScript操作DOM(Document Object Model)來運行動態效果
(3)運用XML和XSLT操作資料
(4)運用XMLHttpRequest或新的Fetch API與網頁伺服器進行非同步資料交換
注意:AJAX與Flash, Silverlight和Java Applet等RIA技術有區分
關於回退的問題
在動態更新頁面的情況下,使用者無法回到前一個頁面狀態,因為瀏覽器僅能記下記錄中的靜態頁面。一個被完整讀入的頁面與一個已經被動態修改過的頁面之間的差別非常微妙,使用者通常希望單擊後退按鈕,就取消他們的前一次操作,但是在Ajax應用程式中,卻無法這樣做。
解決方案
HTML5之前的方法是在使用者單擊後退按鈕訪問記錄時,通過建立或使用一個隱藏的IFRAME來重現頁面上的變更。(例如,當使用者在Google Maps中單擊後退時,它在一個隱藏的IFRAME中進行搜尋,然後將搜尋結果反映到Ajax元素上,以便將應用程式狀態恢複到當時的狀態)。
關於無法將狀態加入收藏或書籤的解決方案
HTML5之前的一種方式是使用URL片斷標識符(通常被稱為錨點,即URL中#後面的部分)來保持追蹤,允許使用者回到指定的某個應用程式狀態。(許多瀏覽器允許JavaScript動態更新錨點,這使得Ajax應用程式能夠在更新顯示內容的同時更新錨點。)
HTML5 以後可以直接操作瀏覽曆史,並以字串形式儲存網頁狀態,將網頁加入網頁收藏夾或書籤時狀態會被隱形地保留。
上述兩個方法也可以同時解決無法後退的問題。
相容性
AJAX支援的瀏覽器有Internet Explorer、Chrome、Firefox、Opera、Konqueror及Mac OS的Safari。但是Opera不支援XSL格式對象,也不支援XSLT。
參考源:https://zh.wikipedia.org/wiki/AJAX
Applet和ajax