当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP由浅入深(9)

JSP
如何处理网站的头尾和导航的公用文件
JSP输出HTML时产生的大量空格和换行的去除方法
JSP 中文字符处理代码
java对XML文件的解析、节点的增加、删除操作总结
传智播客java web 过滤器
搭建EXTJS和STRUTS2框架(ext和struts2简单实例)
JSP 获取真实IP地址的代码
jsp下页面跳转的几种方法小结
asp.net getRemoteAddr()与 getRemoteHost()的区别

JSP由浅入深(9)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-04   浏览: 46 ::
收藏到网摘: n/a

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