您的位置:首页 > 移动开发

JSP中四种属性范围(session,application)

2016-02-20 00:00 471 查看
三,session属性范围

如果希望一个属性在设置后,可以在任何一个与设置页面相关的页面中取得,则可以使用session取值范围。使用session设置属性后,无论客户端跳转还是服务器端跳转,都可以将属性取得。

<body>
<%
//设置session属性范围,此属性在一个浏览器中始终有效
session.setAttribute("name","IronMan") ;
session.setAttribute("birthday",new Date()) ;
%>
<!-- 使用超链接跳转,地址栏改变,属于客户端跳转 -->
<a href="/ScopeDemo/session_scope_02.jsp">使用超链接跳转</a>
</body>

在session范围设置属性后,通过超链接跳转,可以取得属性,但是新开一个浏览器之后跳转,则无法取得属性。

<body>
<%
//从session中取得属性,因为返回的是Object类型,所以需要向下转型
String name = (String)session.getAttribute("name") ;	//getAttribute()--->取得指定属性名的属性值
Date date = (Date)session.getAttribute("birthday") ;//取得web容器中的属性值,而不是页面通过get或post上传的参数值
%>
<h2>姓名:<%=name %></h2>
<h2>年龄:<%=date %></h2>
</body>
</html>

四,application属性范围

如果希望设置一个属性,可以让每一个用户(每一个session)看的见,则可以将这个属性范围设置成application,这样属性保存在服务器上。

<body>
<%
//设置application属性范围,此属性保存在服务器上
application.setAttribute("name","SuperMan") ;
application.setAttribute("birthday",new Date()) ;
%>
<a href="application_scope_02.jsp">通过超链接跳转</a><!--使用超链接跳转,地址栏改变,属于客户端跳转-->
</body>

将属性保存在服务器上,就是无论是否打开新浏览器,都会去的属性内容。

但是如果服务器重启,则无法取得设置的属性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: