1. 程式人生 > >小應用程式applet

小應用程式applet

1.定義:applet是能夠被包含在HTML頁面中並且能被啟用了java的客戶端瀏覽器執行的程式,applet主要用來建立動態互動的web應用程式。

2.生命週期:

  • init:每次被載入都會被初始化
  • start:開始執行applet
stop:結束執行applet
  • destroy:解除安裝applet之後,做最後的清理工作

3.applet被載入時會發生什麼:首先,建立applet控制類的例項,然後初始化,最後,開始執行

4.applet和普通java應用程式區別:

  • applet是執行在啟用了java的瀏覽器上,java應用程式是可以在瀏覽器之外獨立執行的java程式,兩者都需要JVM
  • java應用程式需要有main函式來開始執行,而applet不需要
  • applet會使用很嚴格的安全策略,而java應用程式一般使用比較寬鬆的安全策略

5.applet基本使用:寫好一個類繼承Applet,寫好展示在HTML頁面對應的程式碼,然後在HTML中呼叫該類,若HTML中要傳遞引數給applet,則要在init()方法中接收

  • HTML中帶引數
<html>
<head><title>Parameters</title></head>
<body>
This is a message.<br>
<applet code=”ParamPass.class” width=”400” height=”100”>
      <param name=”fontname” value=”DialogInput” />
      <param name=”fontsize” value=”24” />
</applet> </body></html>
  • 在init()中就要
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JApplet;
import javax.swing.JPanel;

public class ParamPass extends JApplet
{
    private Font f;
    private int size;
    private String name;
    public void init()
    {
        name = getParameter("fontname");
        size = Integer.parseInt(getParameter("fontsize"));
f = new Font(name,Font.BOLD,size); add(new MyPanel()); } class MyPanel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.setFont(f); g.drawString("This is a message.", 50, 50); } } }

6.applet限制條件

  • 不能載入類庫或定義本地方法,不能在宿主機上讀寫檔案
  • 不能讀取特定的系統屬性
  • 不能發起網路連線,除非是跟宿主機
  • 不能開啟宿主機上的其他任何程式

7.不受信任的applet:指不能訪問或執行本地系統檔案的java applet,預設,所有下載的applet都是不受信任的

8.從網路載入的applet和從本地載入的applet的區別:網路載入applet由類載入器載入受applet安全管理限制;本地載入applet由檔案系統載入器載入,允許客戶端讀檔案,寫檔案,載入類庫,並允許執行其他程式,不過通不過位元組碼校驗。

9.類載入器:的。類載入器有自己的 java名稱空間等級結構。類載入器會保證來自檔案系統的類有唯一的名稱空間,來自網路資源的 類有唯一的名稱空間。當瀏覽器通過網路載入 applet 的時候,applet 的類被放置於和 applet 的源相關聯的私有的名 稱空間中。然後,那些被類載入器載入進來的類都是通過了驗證器驗證的。驗證器會檢查類 檔案格式是否遵守Java 語言規範,確保不會出現堆疊溢位(stack overflow) 或者下溢(underflow),傳遞給位元組碼指令的引數是正確的。

10.applet 安全管理器:是給 applet 施加限制條件的一種機制。瀏覽器可以只有一個安全管理器。安全管理器在啟動的時候被建立,之後不能被替換覆蓋或者是擴充套件。