zoukankan      html  css  js  c++  java
  • jsp之九大内置对象与四大域对象

    一,什么是内置对象?

    在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使用这些对象都要自己亲自动手创建就会特别的繁琐.SUN公司因此在设计jsp时,在jsp页面加载完毕之后自动帮开发者创建好了这些对象,开发者只需要使用相应的对象调用相应的方法即可.这些系统创建好的对象就叫做内置对象.

    在servlet程序中,如果开发者希望使用session对象,必须通过request.getSession()来得到session对象;而在jsp程序中,开发中可直接使用session(系统帮我们创建好的session对象的名字就叫session)调用相应的方法即可,如:session.getId().

    二,九大内置对象到底是哪九大呢?

    1.  内置对象名 类型
    2.  request HttpServletRequest
    3.  response HttpServletResponse
    4.  config ServletConfig
    5.  application ServletContext
    6.  session HttpSession
    7.  exception Throwable
    8.  page Object(this)
    9.  out JspWriter
    10.  pageContext PageContext

    三,解析几个内置对象

    1)out对象对象,对象类型是JspWriter类,相当于带缓存的PrintWriter(不带缓存)

    PrintWriter:write("内容")           直接向浏览器输出内容

    JspWriter:writer("内容")            向jsp缓冲区写出内容

    JspWriter当满足以下条件时之一时,缓冲区的内容写出:

    a,缓冲区满了

    b,刷新缓冲区

    c,关闭缓冲区

    d,jsp页面执行完毕

    2)pageContext对象

    pageContext的对象类型是PageContext,叫jsp的上下文对象.

    pageContext作用:可以获取其他八个内置对象

    1.  
      //示例:
    2.  
      pageContext.getOut();
    3.  
      pageContext.getServletConfig()

    使用场景:在自定义标签时会频繁使用到PageContext对象;或者是定义一个方法需要用到多个对象时,传一个pageContext对象就能解决问题.

    四,JSP中四大域对象

    分类:

    1.  ServletContext context域
       
    2.  HttpServletRequet request域
       
    3.  HttpSession session域 --前三种在学习Servlet时就能接触到
       
    4.  PageContext page域 --jsp学习的
       

    域对象的作用:保存数据,获取数据,共享数据.

    保存数据:

    1.  pageContext.setAttribute("内容");//默认保存到page域
       
    2.  pageContext.setAttribute("内容",域范围常量);//保存到指定域中
       
    3.  //四个域常量
       
    4.  PageContext.PAGE_SCOPE
       
    5.  PageContext.REQUEST_SCOPE
       
    6.  PageContext..SESSION_SCOPE
       
    7.  PageContext.APPLICATION_SCOPE
       

    获取数据:

    pageContext.getAttribute("内容");
    

    pageContext.getAttribute("name",域范围常量);

    //自动在四个域中搜索数据 pageContext.findAttribute("内容");//在四个域中自动搜索数据,顺序:page域->request域->session域->application域(context域)

    域作用范围:

    1.  page域: 只能在当前jsp页面使用 (当前页面)
    2.  request域: 只能在同一个请求中使用 (转发)
    3.  session域: 只能在同一个会话(session对象)中使用 (私有的)
    4.  context域: 只能在同一个web应用中使用 (全局的)
  • 相关阅读:
    053-49
    053-3
    053-204
    053-491
    053-205
    053-57
    053-149
    053-47
    053-150
    回答2
  • 原文地址:https://www.cnblogs.com/1998A/p/9469454.html
Copyright © 2011-2022 走看看