Jsp:第二篇【九大内置对象介绍】

1.什么是JSP内置对象

JSP引擎在调用所生成的servlet的时候为每个页面提供的java对象,开发者可以直接调用,用他们不用显示声明,也称为预定义变量

2.九大内置对象

  • request对象:HttpServletRequest实例
  • response对象:HttpServletResponse实例
  • out对象:JspWriter类实例,用于把结果输出在页面上
  • session对象:HttpSession实例,和服务器保持会话的时候创建
  • application对象:ServletContext类的实例,与应用上下文有关
  • config对象:ServletConfig类实例
  • pageContext对象:PageContext类的实例,提供了JSP页面所有对象以及命名空间的访问(容器,保存了很多信息),访问页面信息
  • page对象:类似this
  • Exception对象:Exception类实例,代表发生错误的JSP页面中对应的异常对象

3.九大内置对象的详细介绍

out对象

1.常用api:

  • int getBufferSize()【得到缓存大小】
  • int getRemaining()【得到未使用缓存的大小】
  • boolean isAutoFlush()
  • void println()
  • void flush()
  • void close()
  • void clearBuffer()
  • void clear()
    2.out对象的原理如下:


    image.png

    PS:out对象用的不多。。 虽然JSP已经不常用了

request,response,session,config,application对象在serlvet中详解

pageContex对象:

输出获得的其他八个对象

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


    <%
        System.out.println(pageContext.getSession());
        System.out.println(pageContext.getRequest());
        System.out.println(pageContext.getResponse());
        System.out.println(pageContext.getException());
        System.out.println(pageContext.getPage());
        System.out.println(pageContext.getServletConfig());
        System.out.println(pageContext.getServletContext()); System.out.println(pageContext.getOut());

    %>



效果如图:


image.png

作为域对象

类似于request,session,ServletContext作为域对象而言都有以下三个方法:

  • setAttribute(String name,Objcet o)
  • getAttribute(String name)
  • removeAttribute(String name)
    当然了,pageContext也不例外,pageContext也有这三个方法!
    pageContext本质上代表的是当前JSP页面编译后的内容,作为域对象而言,它就代表着当前JSP页面(也就是page)!也就是说:pageContext域对象只在page范围内有效,超出了page范围就无效了!

引入和跳转

PageContext类中还给我们提供了跳转和包含:

  • pageContext.forward(String url);
  • pageContext.include(String url);

4.四种属性范围

1.page:只在当前页面有效
2.request:只在一次请求中保存属性,请转跳转有效,浏览器跳转无效
3.session:在一个会话中有效,
4个对象都支持一下方法:

  • setAttribute(String name,Objcet o)
  • getAttribute(String name)
  • removeAttribute(String name)

应用场景

  • request:如果客户向服务器发请求,产生的数据,用户看完就没用了,像这样的数据就存在request域,像新闻数据,属于用户看完就没用的
  • session:如果客户向服务器发请求,产生的数据,用户用完了等一会儿还有用,像这样的数据就存在session域中,像购物数据,用户需要看到自己购物信息,并且等一会儿,还要用这个购物数据结帐
  • servletContext:如果客户向服务器发请求,产生的数据,用户用完了,还要给其它用户用,像这样的数据就存在servletContext域中,像聊天数据

参考:
作者:java3y
链接:https://www.imooc.com/article/24325
来源:慕课网

你可能感兴趣的:(Jsp:第二篇【九大内置对象介绍】)