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