在JSP中,在"<%"和"%>"之間書寫的程序代碼成為java程序片。
一個JSP頁面中可以有多個java程序片。要注意的是,在Java程序片中聲明的變量在它們所在JSP頁面的所用程序片及表達式中都有效。基於此,可以把一個較大的程序片分成幾個小的程序片,還可在其中插入HTML語句,以便編寫的程序代碼更具有可讀性。
在程序片中聲明的變量只在頁面有效,是局部變量,它在不同的客戶訪問同一個頁面時,此變量是不能共享的。但如果是在"<%!"和"%>"之間聲明的變量就可以在不同的客戶之間共享,其有效范圍是整個Web應用,在服務器關閉後變量才會被釋放。
用"<%="和"%>"可以直接輸出變量或表達式的值,變量或表達式的值將作為一個字符串在浏覽器中輸出。這種方法在JSP編程中是比較常用的,特別在與HTML標記混合編寫時較為常用。如下代碼:
<%@ page contentType="text/html; charset=gb2312" %> <%! int counter=0; synchronized void counterFunction() { counter++; } %> <%counterFunction();%> 網站計數器該程序首先在"<%!“和”%>"之間聲明了一個計數器變量和計數的方法,計數器變量將在客戶之間共享,直至服務器關閉。計數方法實際上就是對計數變量做增1處理,在方法的前面加了sychronized關鍵字,這個關鍵字可防止客戶在同時調用此方法更改計數變量的值時發生沖突,因此對方法作了串行化處理。
你是第<%=counter %>位訪問者