内置对象
jsp自动创建的对象,可以直接使用
内置对象
- request, javax.servlet.http.HttpServletRequest
- response, javax.servlet.http.HttpServletResponse
- session, javax.servlet.http.HttpSession, 由session="true"开关
- application, javax.servlet.ServletContext
- config, javax.servlet.ServletConfig
- out, javax.servlet.jsp.JspWriter
- page, java.langObject当前对象this, 当前servlet实例
- pageContext, javax.servlet.jsp.PageContext
- exception, java.lang.Throwable, 发生异常时才有值;由isErrorPage="false"开关
四大作用域对象
pageContext
页面级别
- 当前页面的作用于对象,一旦跳转就失效
- 通过setAttribute()方法可以向pageContext中添加属性
- 通过getAttribute()方法可以获取属性
- 通过removeAttribute()方法可以移除属性
- 用来获取其他8个内置对象或者操作其他对象的作用域
pageContext对象获取其他内置对象
java
<%
pageContext.getRequest(); // 返回request内置对象
pageContext.getResponse(); // 返回response内置对象
pageContext.getServletConfig(); // 返回servletConfig内置对象
pageContext.getServletContext(); // 返回servletContext内置对象
pageContext.getSession(); // 返回session内置对象
pageContext.getOut(); // 返回out内置对象
pageContext.getException(); // 返回异常内置对象
pageContext.getPage(); // 返回page内置对象
%>pageContext对象可以操作其他作用于存储和获取
java
<%
pageContext.setAttribute("name", value); // 当前页面有效
pageContext.setAttribute("name", value.PageContext.REQUEST_SCOPE); // request 作用域
pageContext.setAttribute("name", value.PageContext.SESSION_SCOPE); // session 作用域
pageContext.setAttribute("name", value.PageContext.APPLICATION_SCOPE); // application 作用域
%>setAttribute getAttribute removeAttribute findAttribute, 依次从 pageContext,request,session,application 作用域查找属性,找到就返回,否则返回 null
request
请求级别
session
回话级别
application
应用级别