Applet 是一種 Java 程序。它通常運行在支持 Java 的 Web 瀏覽器內。由於它有完整的 Java API支持,因此Applet 是一個全功能的 Java 應用程序。html
以下所示是獨立的 Java 應用程序和 applet 程序之間重要的不一樣:java
Applet 類中的四個方法給你提供了一個框架,你能夠再該框架上開發小程序:web
每個 Applet 都是 java.applet.Applet 類的子類,基礎的 Applet 類提供了供衍生類調用的方法,以此來獲得瀏覽器上下文的信息和服務。編程
這些方法作了以下事情:小程序
除此以外,Applet 類還提供了一個接口,該接口供 Viewer 或瀏覽器來獲取 Applet 的信息,而且來控制 Applet 的執行。瀏覽器
Viewer 多是:安全
Applet 類提供了對這些方法的默認實現,這些方法能夠在須要的時候重寫。服務器
"Hello,World"applet 都是按標準編寫的。惟一被重寫的方法是 paint 方法。網絡
Applet 是一種 Java 程序。它通常運行在支持 Java 的 Web 瀏覽器內。由於它有完整的 Java API 支持,因此 Applet 是一個全功能的 Java 應用程序。app
<applet> 標籤是在HTML文件中嵌入 Applet 的基礎。如下是一個調用"Hello World"applet的例子;
1
2
3
4
5
6
7
8
9
|
<
html
>
<
title
>The Hello, World Applet</
title
>
<
hr
>
<
applet
code="HelloWorldApplet.class" width="320" height="120">
If your browser was Java-enabled, a "Hello, World"
message would appear here.
</
applet
>
<
hr
>
</
html
>
|
下面的例子演示瞭如何使用一個 Applet 響應來設置文件中指定的參數。該 Applet 顯示了一個黑色棋盤圖案和第二種顏色。
第二種顏色和每一列的大小經過文檔中的 Applet 的參數指定。
CheckerApplet 在 init() 方法裏獲得它的參數。也能夠在 paint() 方法裏獲得它的參數。然而,在 Applet 開始獲得值並保存了設置,而不是每一次刷新的時候都獲得值,這樣是很方便,而且高效的。
Applet viewer 或者瀏覽器在 Applet 每次運行的時候調用 init() 方法。在加載 Applet 以後,Viewer 當即調用 init() 方法(Applet.init()什麼也沒作),重寫該方法的默認實現,添加一些自定義的初始化代碼。
Applet.getParameter() 方法經過給出參數名稱獲得參數值。若是獲得的值是數字或者其餘非字符數據,那麼必須解析爲字符串類型。
下例是 CheckerApplet.java 的修改:
1
2
3
4
5
6
7
8
9
10
|
import
java.applet.*;
import
java.awt.*;
public
class
CheckerApplet
extends
Applet
{
int
squareSize =
50
;
// 初始化默認大小
public
void
init () {}
private
void
parseSquareSize (String param) {}
private
Color parseColor (String param) {}
public
void
paint (Graphics g) {}
}
|
下面是 CheckerApplet 類的 init() 方法和私有的 parseSquareSize() 方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public
void
init ()
{
String squareSizeParam = getParameter (
"squareSize"
);
parseSquareSize (squareSizeParam);
String colorParam = getParameter (
"color"
);
Color fg = parseColor (colorParam);
setBackground (Color.black);
setForeground (fg);
}
private
void
parseSquareSize (String param)
{
if
(param ==
null
)
return
;
try
{
squareSize = Integer.parseInt (param);
}
catch
(Exception e) {
// 保留默認值
}
}
|
該 Applet 調用 parseSquareSize(),來解析 squareSize 參數。parseSquareSize() 調用了庫方法 Integer. parseInt() 該方法將一個字符串解析爲一個整數,當參數無效的時候,Integer.parseInt() 拋出異常。
所以,parseSquareSize() 方法也是捕獲異常的,並不容許 Applet 接受無效的輸入。
Applet 調用 parseColor()方法將顏色參數解析爲一個 Color 值。parseColor() 方法作了一系列字符串的比較,來匹配參數的值和預約義顏色的名字。你須要實現這些方法來使 Applet 工做。
將圖形化的 Java 應用程序(是指,使用AWT的應用程序和使用 java 程序啓動器啓動的程序)轉換成嵌入在web頁面裏的applet是很簡單的。
下面是將應用程序轉換成 Applet 的幾個步驟:
AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。
AJAX 不是新的編程語言,而是一種使用現有標準的新方法。
AJAX 最大的優勢是在不從新加載整個頁面的狀況下,能夠與服務器交換數據並更新部分網頁內容。
AJAX 不須要任何瀏覽器插件,但須要用戶容許JavaScript在瀏覽器上執行。
運用XHTML+CSS來表達資訊;
運用JavaScript操做DOM(Document Object Model)來執行動態效果;
運用XML和XSLT操做資料;
運用XMLHttpRequest或新的Fetch API與網頁服務器進行異步資料交換;
注意:AJAX與Flash、Silverlight和Java Applet等RIA技術是有區分的。
AJAX是基於現有的Internet標準,而且聯合使用它們:
AJAX應用程序與瀏覽器和平臺無關的!
上面的 AJAX 應用程序包含一個 div 和一個按鈕。
div 部分用於顯示來自服務器的信息。當按鈕被點擊時,它負責調用名爲 loadXMLDoc() 的函數:
1
2
|
<
div
id="myDiv"><
h2
>使用 AJAX 修改該文本內容</
h2
></
div
>
<
button
type="button" onclick="loadXMLDoc()">修改內容</
button
>
|
接下來,在頁面的 head 部分添加一個 <script> 標籤。該標籤中包含了這個 loadXMLDoc() 函數:
1
2
3
4
5
6
7
8
|
<
head
>
<
script
>
function loadXMLDoc()
{
.... AJAX 腳本執行 ...
}
</
script
>
</
head
>
|