什么是Applet?
java applet是能夠被包含在HTML頁面中并且能被啟用了java的客戶端瀏覽器執(zhí)行的程序。Applet主要用來創(chuàng)建動態(tài)交互的web應用程序。
applet可以經(jīng)歷下面的狀態(tài):
·Init:每次被載入的時候都會被初始化。
·Start:開始執(zhí)行applet。
·Stop:結束執(zhí)行applet。
·Destroy:卸載applet之前,做最后的清理工作。
當applet被載入的時首先會創(chuàng)建applet控制類的實例,然后初始化applet,最后開始運行。
applet是運行在啟用了java的瀏覽器中,Java應用程序是可以在瀏覽器之外運行的獨立的Java程序。但是,它們都需要有Java虛擬機。
進一步來說,Java應用程序需要一個有特定方法簽名的main函數(shù)來開始執(zhí)行。Java
applet不需要這樣的函數(shù)來開始執(zhí)行。
最后,Java applet一般會使用很嚴格的安全策略,Java應用一般使用比較寬松的安全策略。
由于安全的原因,給applet施加了以下的限制:
·applet不能夠載入類庫或者定義本地方法。
·applet不能在宿主機上讀寫文件。
·applet不能讀取特定的系統(tǒng)屬性。
·applet不能發(fā)起網(wǎng)絡連接,除非是跟宿主機。
·applet不能夠開啟宿主機上其他任何的程序。
不受信任的applet是不能訪問或是執(zhí)行本地系統(tǒng)文件的Java applet,默認情況下,所有下載的applet都是不受信任的。
從網(wǎng)絡上加載的applet和從本地文件系統(tǒng)加載的applet有一定區(qū)別。當applet是從網(wǎng)絡上加載的時候,applet是由applet類加載器載入的,它受applet
安全管理器的限制。
當applet是從客戶端的本地磁盤載入的時候,applet是由文件系統(tǒng)加載器載入的。從文件系統(tǒng)載入的applet允許在客戶端讀文件,寫文件,加載類庫,并且也允許執(zhí)行其他程序,但是,卻通不過字節(jié)碼校驗。