在JSP中提供了四种属性的保存范围,所谓属性保存范围,指的就是一个设置的对象,可以在多少个页面中保存并继续使用。
四种属性范围:
pageContext 在一个页面中保存属性,跳转之后无效。
request 只在一次请求中保存,服务器跳转之后依然有效。
session 在一次会话范围中,无论何种跳转都可以继续使用。
application 在整个服务器上保存,所有用户都可以使用。
以pageContext为例:
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.util.*"%>
<html>
<head><title>JSP</title></head>
<body>
<%
pageContext.setAttribute("name","张三");
pageContext.setAttribute("birthday","1993-04-06");
%>
<%
String username=(String)pageContext.getAttribute("name");
String birthday=(String)pageContext.getAttribute("birthday");
%>
姓名:<%=username%><br><br>
生日:<%=birthday%>
</body>
</html>
以下跳转就不能用pageContext:
文件名:request01.jsp
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.util.*"%>
<html>
<head><title>JSP</title></head>
<body>
<%
request.setAttribute("name","张三");
request.setAttribute("birthday","1993-04-06");
%>
<jsp:forward page="pageContext02.jsp"/>
</body>
</html>
文件名:request02.jsp
<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.util.*"%>
<html>
<head><title>JSP</title></head>
<body>
<%
String username=(String)request.getAttribute("name");
String birthday=(String)request.getAttribute("birthday");
%>
姓名:<%=username%><br><br>
生日:<%=birthday%>
</body>
</html>
其他的属性以此类推。
标签:保存,JSP,跳转,范围,pageContext,四种,属性 From: https://blog.51cto.com/u_16146153/6389008