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

本文详细介绍了Java Web开发中session和application两种范围对象的应用。包括如何设置与获取这两种对象的属性,以及它们在不同场景下的行为表现。

三,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>

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

    但是如果服务器重启,则无法取得设置的属性。

转载于:https://my.oschina.net/bugkiller/blog/617974

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值