JSP 允許在“<%”和“%>”之間插入 Java 程序段。一個 JSP 頁面可以有許多程序段,這些程序段將被 JSP 引擎按順序執行。
在一個程序段中聲明的變量叫作 JSP 頁面的局部變量,它們在 JSP 頁面內的相關程序段以及表達式內都有效。這是因為 JSP 引擎將 JSP 頁面轉譯成 Java 文件時,將各個程序段的這些變量作為類中某個方法的變量,即局部變量。
利用程序段的這個性質,有時可以將一個程序段分割成幾個更小的程序段,然后在這些小的程序段之間再插入 JSP 頁面的一些其他標記元素。
當程序段被調用執行時,會為這些變量分配內存空間,當所有的程序段調用完畢后,這些變量即可釋放所占的內存。
當多個客戶請求一個 JSP 頁面時,JSP 引擎為每個客戶啟動一個線程,一個客戶的局部變量和另一個客戶的局部變量會分配不同的內存空間。因此,一個客戶對 JSP 頁面局部變量操作的結果,不會影響到其他客戶的這個局部變量。
【例1】下面的程序段可以計算 1 到 100 的和:
<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title></title>
</head>
<body>
<font size="10"><%!
long continueSum(int n)
{
int sum=0;
for(int i=1; i<=n; i++)
{
sum=sum + i;
}
return sum;
}
%></font>
<p>
<font size="10">1到100的連續和:<br>
<%
long sum;
sum=continueSum(100);
out.print(" " + sum);
%></font>
</p>
</body>
</html>
運行結果如圖 1 所示。
圖1 在JSP中使用Java代碼段