PageContext
:页面上下文,可以存东西Request
:请求,可以存东西Response
:响应Application(ServletContext)
:最大的对象,可以存东西Session
:会话,可以存东西page
:页面config
:ServletConfigout
:输出exception
:异常
pageContext.setAttribute("name1","mahe666 1"); //保存的数据在一个页面内有效
request.setAttribute("name2","mahe666 2"); //保存的数据在一次请求内有效,请求转发会携带这个参数
session.setAttribute("name3","mahe666 3"); //保存的数据在一次会话内有效,从打开浏览器,到关闭浏览器
application.setAttribute("name4","mahe666 4"); //保存的数据在服务器中有效,从打开服务器到关闭服务器
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
pageContext.setAttribute("name1","mahe666 1"); //保存的数据在一个页面内有效
request.setAttribute("name2","mahe666 2"); //保存的数据在一次请求内有效,请求转发会携带这个参数
session.setAttribute("name3","mahe666 3"); //保存的数据在一次会话内有效,从打开浏览器,到关闭浏览器
application.setAttribute("name4","mahe666 4"); //保存的数据在服务器中有效,从打开服务器到关闭服务器
%>
<%
//通过寻找的方式进行查询 findAttribute();
//作用域由低到高 page -> request -> session -> application
String name1 = (String) pageContext.findAttribute("name1");
String name2 = (String) pageContext.findAttribute("name2");
String name3 = (String) pageContext.findAttribute("name3");
String name4 = (String) pageContext.findAttribute("name4");
String name5 = (String) pageContext.findAttribute("name5"); //如果在四个作用域内都没找到,则返回null
%>
<%--使用EL表达式进行输出--%>
<h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3>${name5}</h3>
<%--建议使用EL表达式,否则的话可能获取不到数据,显示为null--%>
<h3><%=name5%></h3>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
/*
PAGE_SCOPE = 1;
REQUEST_SCOPE = 2;
SESSION_SCOPE = 3;
APPLICATION_SCOPE = 4;
*/
%>
<%
//pageContext.setAttribute(); 方法有三个参数 K,V,作用域
//作用域有上面四个类型
pageContext.setAttribute("name","mahe666",PageContext.SESSION_SCOPE);
//上面这个语句等价于
session.setAttribute("name","mahe666");
//但是不建议这么做
%>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
pageContext.forward("/index.jsp");
%>
</body>
</html>