pageContext.setAttribute( );//保存的数据只在一个页面中有效
request.setAttribute( );//保存的数据只在一次请求中有效,请求转发会携带这个数据
session.setAttribute( );//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
application.setAttribute();//保存的数据只在服务器中有效,从打开服务器到关闭服务器
request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻,用户看完没用的
session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如:购物车;
application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如聊天数据;
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
<%--内置对象--%>
<%
pageContext.setAttribute( "name1", "1号");//保存的数据只在一个页面中有效
request.setAttribute( "name2" ,"2号");//保存的数据只在一次请求中有效,请求转发会携带这个数据
session.setAttribute( "name3" , "3号");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
application.setAttribute("name4" , "4号");//保存的数据只在服务器中有效,从打开服务器到关闭服务器
%>
<%--
脚本片段中的代码,会被原封不动生成到.JSP.java
要求:这里面的代码:必须保证Java语法的正确性
--%>
<%
//从pageContext取出,我们通过寻找的方式来
// 从底层到高层(作用域):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" );//不存在
%>
<%--使用EL表达式输出${}--%>
取出的值为:
${name1}
${name2}
${name3}
${name4}
${name5}
结果



