jsp中的四种属性保存范围

大家都晓得jsp之所以如此强大,其中的内置对象发挥了重要的作用,而每一种内置对象都有其有效的使用范围,也也就是jsp中的四种属性保存范围:page、request、session、appliction。
    在jsp中可以通过下面的两个方法来设置和取得属性
public  abstract void setAttribute(String name,Object attribute) 	
pubic abstract Object getAttribute(String name)
page:在只一个页面范围内有效,不能发生跳转,也就是说,在跳转到另一个页面后,就不能取得它的属性了,必须通过pageContext来完成
<%
pageContext.setAttribute("name","ysh");
pageContext.setAttribute("password","123");
%>
<jsp:forward page="requestDemo03.jsp"/>
<% 	String name = (String)pageContext.getAttribute("name"); 	
String password = (String)pageContext.getAttribute("password"); %>
<%=name%>
<%=password%>
request:服务器端范围内的一次请求,也就是说,在一个页面中设置属性,可以在当前页面中去取得属性,也可以在服务端发生跳转(jsp:forword),在下一个页面上也可以取得属性。
<% 	
request.setAttribute("name","ysh") ;
request.setAttribute("password","123") ; %>
<jsp:forward page="requestDemo02.jsp"/>
<% 	String name = (String)request.getAttribute("name") ; 	
String password = (String)request.getAttribute("password") ; %>
<%=name%>
<%=password%>
<jsp:forward page="requestDemo02.jsp"/>

 session:只是在一次会话中,可以保留一个用户的信息,也就是说只要在一次会话中,不论是在服务器上跳转还
是在客户端跳转,都可以取得属性
 
<% 	
session.setAttribute("name","ysh") ;
session.setAttribute("password","123") ; %>
<jsp:forward page="sessionDemo02.jsp"/>

<% 	
String name = (String)session.getAttribute("name") ;
String password = (String)session.getAttribute("password") ; %>
 <h1>name : <%=name%></h1>
<h1>password : <%=password%></h1>
<a href="sessionDemo03.jsp">sessionDemo03.jsp</a>

<% 	
String name = (String)session.getAttribute("name") ;
String password = (String)session.getAttribute("password") ; %>
<h1>name : <%=name%></h1>
<h1>password : <%=password%></h1>

application:在服务器上设置属性,所有的用户都可以获得此属性,此信息是被保留在服务器上,也就是说,只
要application被设置一次,所有的页面都可以来访问此属性,直到服务器重启。

一般地,如果能使用request就尽量不要使用session,能使用session就尽量不要使用application




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值