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

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