JSP由淺入深(4)—— Scriptlets(2)
發(fā)表時(shí)間:2023-07-31 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]另外一個(gè)被預(yù)定義非常有用的變量是“request”。它是一種javax.servlet.http.HttpServletRequest。在服務(wù)器端“request”處理瀏覽器和服務(wù)器之間的工作。當(dāng)用...
另外一個(gè)被預(yù)定義非常有用的變量是“request”。它是一種javax.servlet.http.HttpServletRequest。
在服務(wù)器端“request”處理瀏覽器和服務(wù)器之間的工作。當(dāng)用戶點(diǎn)擊連接或者鍵入一個(gè)URL,瀏覽器就會(huì)為那個(gè)URL發(fā)送一個(gè)“request”給服務(wù)器并且顯示返回的數(shù)據(jù)。作為這個(gè)“request”的一部分,各種數(shù)據(jù)是可利用的,這些數(shù)據(jù)包括瀏覽器想從服務(wù)器中取得的文件;并且如果這個(gè)請(qǐng)求(request)是通過(guò)按下SUBMIT(提交)按鈕發(fā)來(lái)的,這些數(shù)據(jù)還包括用戶鍵入到表單區(qū)域的信息。
JSP的“request”變量用于獲得從由瀏覽器發(fā)送的請(qǐng)求的信息。舉個(gè)例子,你可以知道客戶主機(jī)的名字,或者只能獲得此主機(jī)IP地址。下面我們對(duì)以前教程的代碼修改如下:
<HTML>
<BODY>
<%
// This scriptlet declares and initializes "date"
System.out.println( "Evaluating date now" );
java.util.Date date = new java.util.Date();
%>
Hello! The time is now
<%
out.println( date );
out.println( "<BR>Your machine's address is " );
out.println( request.getRemoteHost());
%>
</BODY>
</HTML>
還有一個(gè)類似的變量,“response”。這個(gè)變量用于影響被發(fā)送到瀏覽器的響應(yīng)。為了更好的理解這句話的意思,我們來(lái)舉個(gè)例子,你可以調(diào)用response.sendRedirect( anotherUrl )來(lái)發(fā)送一個(gè)響應(yīng)給瀏覽器,接著這個(gè)瀏覽器就會(huì)發(fā)送一個(gè)不同的請(qǐng)求給“anotherUrl”。這看起來(lái)跟一些我們遇到的JSP機(jī)理有點(diǎn)不同,比如它包括了另外的網(wǎng)頁(yè)或者轉(zhuǎn)發(fā)瀏覽器給其它的網(wǎng)頁(yè)。
本教程的特點(diǎn)是每個(gè)教程結(jié)束后都要作個(gè)練習(xí)。這次的練習(xí)為:編寫一個(gè)JSP來(lái)輸出完整的行“Hello! The time is now.”,當(dāng)然還要為這個(gè)字符串編寫一個(gè)scriptlet,包括HTML標(biāo)記。這里還需要再提醒一下,這些練習(xí)對(duì)鞏固所學(xué)知識(shí)和加深理解都是很有幫助,所以我希望所有學(xué)員都要認(rèn)真地作練習(xí)。