在經典的網站上,訪問者可以瀏覽幾個網頁並執行一些互動的行為。如果你在編寫這樣的網站,利用每一個使用者的一些資料是非常有用的。為了這個目的,我們可以使用JSP中的"sessions"。
Session是一個跟使用者相關的對象。當使用者訪問網站的時候,一些資料就被存放於session中,並在需要的時候從中取出資料。Session為不同的使用者儲存了不同了資料。
以下的網頁將使用者的名字放置於session中,並可以在其它地方來顯示它。首先我們要製作一個表單,然後將它命名為GetName.html
<HTML>
<BODY>
<FORM METHOD=POST ACTION="SaveName.jsp">
What's your name? <INPUT TYPE=TEXT NAME=username SIZE=20>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
這個表單的目標是“SaveName.jsp”,它在session儲存了使用者的名字。
<%
String name = request.getParameter( "username" );
session.setAttribute( "theName", name );
%>
<HTML>
<BODY>
<A HREF="NextPage.jsp">Continue</A>
</BODY>
</HTML>
SaveName.jsp在session儲存了使用者了名字,並串連到另外一個網頁NextPage.jsp。NextPage.jsp 顯示了怎樣取出被儲存的名字:
<HTML>
<BODY>
Hello, <%= session.getAttribute( "theName" ) %>
</BODY>
</HTML>
如果你開啟兩種不同的瀏覽器,或者從兩台不同的機器上運行兩個瀏覽器,你可以在一個瀏覽器中放置一個名字,而在另外一個瀏覽器中放置另外的名字,但是兩個名字都將被跟蹤。Session保持跟蹤直到逾時,這時它就會假設使用者沒有訪問網站了,所以就取消了session。
最後再布置一下本教程的聯絡:利用session,在上面的例子中增加一個使用者的“age”屬性。