Skip to content

内置对象

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

应用级别