从pageContext、request、session、application四个作用域依次检索指定关键词的数据,到XXScope的XX作用域为止。即它们检索的范围依次是:
pageScope : pageContext。 //page之后的检索不到
requestScope: pageContext->request。 //request之后的检索不到
sessionScope: pageContext->request->session。 //session之后的检索不到
applicationScope: pageContext->request->session->application。
此外还涉及到作用域的作用范围影响:
pageContext.setAttribute(“name”,“a”) //只在当前页面
request.setAttribute(“name”,“b”) //一次请求中,可以请求转发
session.setAttribute(“name”,“c”) //会话超时之前都存在,只要浏览器不关闭
application.setAttribute(“name”,“d”) //服务器重启或关闭前都存在,只要服务器不关闭
EL表达式取name:
${pageScope.name }
${requestScope.name }
${sessionScope.name }
${applicationScope.name }
注意,由于四个XXScope都是从小到大的作用域范围,会存在application.setAttribute()时,需要检索4个域,会影响效率。