JSP由浅入深(9)—— JSP Sessions

网络整理 - 07-27

在经典的网站上,访问者可以浏览几个网页并执行一些交互的行为。如果你在编写这样的网站,利用每一个用户的一些数据是非常有用的。为了这个目的,我们可以使用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”属性。