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");
%>

<% 	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") ; %>

<% 	String name = (String)request.getAttribute("name") ; 	
String password = (String)request.getAttribute("password") ; %>
<%=name%>
<%=password%>


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


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

name : <%=name%>


password : <%=password%>


sessionDemo03.jsp

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

name : <%=name%>


password : <%=password%>



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

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




你可能感兴趣的:(jsp,string,application,session,服务器,object)