内置对象
PageContext (存数据,页面上下文,只在一个页面内有效)
Request (存数据,只在一个请求内有效,请求转发会携带数据)
Response
Session (存数据,在一个会话内有效,从打开浏览器到关闭浏览器)
Application (存数据,在一个服务器启动期间都有效)
config (配置)
out( 输出)
page (很少用)
exception(异常)
作用范围
在一个页面存取数据
<body>
<%
//在一个页面内有效
pageContext.setAttribute("name1","张三1");
//在请求转发内有效
request.setAttribute("name2","张三2");
//在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
//在服务器内有效
application.setAttribute("name4","张三4");
%>
<%
String name1 = (String) pageContext.getAttribute("name1");
String name2 = (String) pageContext.getAttribute("name2");
String name3 = (String) pageContext.getAttribute("name3");
String name4 = (String) pageContext.getAttribute("name4");
String name5 = (String) pageContext.getAttribute("name5");
%>
${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}
</body>
在另一个页面取数据
<body>
<%
//范围自底向上查找,最上层查找不到即为null(类似jvm双亲委派机制)
String name1 = (String) pageContext.getAttribute("name1");
String name2 = (String) pageContext.getAttribute("name2");
String name3 = (String) pageContext.getAttribute("name3");
String name4 = (String) pageContext.getAttribute("name4");
String name5 = (String) pageContext.getAttribute("name5");
%>
${name1}<hr>
${name2}<hr>
${name3}<hr>
${name4}<hr>
${name5}
</body>
转发到另一个页面
<%
//在一个页面内有效
pageContext.setAttribute("name1","张三1");
//在请求转发内有效
request.setAttribute("name2","张三2");
//在一个会话内有效(浏览器内)
session.setAttribute("name3","张三3");
//在服务器内有效
application.setAttribute("name4","张三4");
%>
<%
//请求转发,前端写法
pageContext.forward("/res.jsp");
//后端写法
//request.getRequestDispatcher("/res.jsp").forward(request,response);
%>