JSP中九大隐含对象:
隐含对象; 所属的类; 说明;
request | javax.servlet.http.HttpServletRequest | 客户端的请求信息 |
response | javax.servlet.http.HttpServletResponse | 网页传回客户端的响应 |
session | javax.servlet.http.HttpSession | 与请求有关的会话 |
out | javax.servlet.jsp.JSPWriter | 向客户端浏览器输出数据的数据流 |
application | javax.servlet.ServletContext | 提供全局的数据,一旦创建就保持到服务器关闭 |
pageContext | javax.servlet.jsp.PageContext | JSP页面的上下文,用于访问页面属性 |
page | java.lang.Object | 同Java中的this,即JSP页面本身 |
config | javax.servlet.servletConfig | Servlet的配置对象 |
exception | java.lang.Throwable | 针对错误网页,捕捉一般网页中未捕捉的异常 |
JSP中的九大隐含对象的可分为4类:
1. 与输入/输出有关的对象: request、response、out
2. 与属性作用域有关的对象:session、application、pageContext3. 与Servlet 相关对象:page、config4. 与错误处理有关的:exception
作用域范围从小到大顺序:
pageContext----request----session----application
其中:
pageContext:
作用域仅限于当前页面对象,可以近似于理解为java的this对象,离开当前JSP页面(无论是redirect还是forward),则pageContext中的所有属性值就会丢失。
request:
作用域是同一个请求之内,在页面跳转时,如果通过forward方式跳转,则forward目标页面仍然可以拿到request中的属性值。如果通过redirect方式进行页面跳转,由于redirect相当于重新发出的请求,此种场景下,request中的属性值会丢失。
session:
session的作用域是在一个会话的生命周期内,会话失效,则session中的数据也随之丢失。
application:
作用域是最大的,只要服务器不停止,则application对象就一直存在,并且为所有会话所共享。