javaWeb-07-jsp九大隐式对象-pageContext对象

来源:互联网 发布:淘宝开发者平台流程图 编辑:程序博客网 时间:2024/06/06 18:58
pageContext对象
pageContext对象
pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境,这个对象不仅封装了对其
它8大隐式对象的引用,它自身还是一个域对象,可以用来保存数据。并且,这个对象还封装了web
开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

通过pageContext获得其他对象
  1. getException方法返回exception隐式对象
  2. getPage方法返回page隐式对象
  3. getRequest方法返回request隐式对象
  4. getResponse方法返回response隐式对象
  5. getServletConfig方法返回config隐式对象
  6. getServletContext方法返回application隐式对象
  7. getSession方法返回session隐式对象
  8. getOut方法返回out隐式对象
  9. pageContext封装其它8大内置对象的意义,思考:如果在编程过程中,把pageContext对象传递给一个普通java对象,那么这个java对象将具有什么功能?
pageContext作为域对象
    • pageContext对象的方法
    • public void setAttribute(java.lang.String name,java.lang.Object value)
    • public java.lang.Object getAttribute(java.lang.String name)
    • public void removeAttribute(java.lang.String name)
    • pageContext对象中还封装了访问其它域的方法
    • public java.lang.Object getAttribute(java.lang.String name,int scope)
    • public void setAttribute(java.lang.String name,java.lang.Object value,int scope)
    • public void removeAttribute(java.lang.String name,int scope)
    • 代表各个域的常量
    • PageContext.APPLICATION_SCOPE
    • PageContext.SESSION_SCOPE
    • PageContext.REQUEST_SCOPE
    • PageContext.PAGE_SCOPE
  1. findAttribute方法 (*重点,查找各个域中的属性)
    到此为止,web开发接触到了4个域对象:
  1. pageContext(称之为page域)
  2. request(称之为request域)
  3. session(称之为session域)
  4. servletContext(称之为application域)
    这4个域对象是学习web的重点,也是笔试经常考察的知识点。
    明确如下问题:
    这4个对象的生命周期?
    什么是域?为什么把这4个对象叫做域对象呢?
    哪种情况下用哪种域对象。
引入和跳转到其他资源
  • PageContext类中定义了一个forward方法和两个include方法来分别简化和替代
    RequestDispatcher.forward方法和include方法
    <%pageContext.include("/foot.jsp");%>
    <%pageContext.forward("/index.jsp");%>
  • 传递给这些方法的资源路径都只能是相对路径,如果路径以“/”开头,表示相对于当前WEB应用程序
    的根目录,否则,表示相对于当前JSP所映射到的访问路径。