JSP第二篇【内置对象的介绍、4种属性范围、应用场景】(一)

简介: JSP引擎在调用JSP对应的jspServlet时,会传递或创建9个与web开发相关的对象供jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用

什么是JSP内置对象

JSP引擎在调用JSP对应的jspServlet时,会传递或创建9个与web开发相关的对象供jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用

细心的朋友会发现,我们没有在JSP页面上定义过out对象,却可以直接使用!其实out对象就是JSP内置对象之一

九个内置对象:

  • pageContext
  • page
  • config
  • request
  • response
  • session
  • application
  • exception
  • out

out对象

out对象的API

  • int getBufferSize()【得到缓存大小】
  • int getRemaining()【得到未使用缓存的大小】
  • boolean isAutoFlush()
  • void println()
  • void flush()
  • void close()
  • void clearBuffer()
  • void clear()
  • out对象用于向浏览器输出数据,与之对应的是Servlet的PrintWriter对象。然而这个out对象的类型并不是PrintWriter,是JspWriter
    33.jpg
  • 我们可以简单理解为:JspWriter就是带缓存的PrintWrieter
  • out对象的原理如下:
    34.jpg
  • 只有向out对象中写入了内容,且满足如下任何一个条件时,out对象才去调用ServletResponse.getWriter方法,并通过该方法返回的PrintWriter对象将out对象的缓冲区中的内容真正写入到Servlet引擎提供的缓冲区中
  • 设置page指令的buffer属性关闭了out对象的缓存功能
  • out对象的缓冲区已满
  • 整个JSP页面结束
  • 一般我们在JSP页面输出都是用表达式(<%=%>),所以out对象用得并不是很多

request

  • 内置对象request其实就是HttpServletRequest,在Servlet讲解的时候已经详细说明了,没什么好说的

35.jpg

response

  • 内置对象response其实就是HttpServletResponse,在Servlet讲解的时候已经详细说明了,没什么好说的
    36.jpg

config

  • 内置对象config其实就是ServletConfig,在Servlet讲解的时候已经详细说明了,没什么好说的
    37.png

session

  • 内置对象session其实就是HttpSession。,在Servlet讲解的时候已经详细说明了,没什么好说的

38.jpg

注意:在page指令配置如下信息,session将不可使用

<%@page session="false" %>

application

  • 内置对象application其实就是ServletContext对象,在Servlet讲解的时候已经详细说明了,没什么好说的
    39.jpg

page

  • 内置对象page是HttpJasPage对象,其实page对象代表的就是当前JSP页面,是当前JSP编译后的Servlet类的对象。也就是说:page对象相当于普通java类的this

exception

  • 内置对象exception是java.lang.Exception类的对象,exception封装了JSP页面抛出的异常信息。exception经常被用来处理错误页面
  • 前面我们已经讲过了怎么设置错误页面了,下面我们就来简单使用一下exception对象吧
  • 1.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="error.jsp" %>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <%--模拟空指针异常的错误--%>
    <%
        String sss = null;
        sss.length();
    %>
    </body>
    </html>

error.jsp页面

  <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
    <html>
    <head>
        <title>错误页面</title>
    </head>
    <body>
    <%
        out.println("程序抛出了异常:" + exception);
    %>
    </body>
    </html>

效果:

40.jpg


目录
相关文章
|
6月前
|
存储 缓存 Java
JSP九大内置对象及基本使用
JSP九大内置对象及基本使用
142 0
|
Java
17JavaWeb基础 - JSP的九大内置对象/四大作用域
17JavaWeb基础 - JSP的九大内置对象/四大作用域
76 0
|
Java
jsp内置对象和路径
jsp内置对象和路径
94 0
|
3月前
|
缓存 Java 应用服务中间件
JSP的内置对象 request和response
这篇文章详细介绍了JSP的内置对象,包括request、response、out、session和application对象的使用方法和特性,以及如何通过这些对象处理HTTP请求和响应、管理会话和输出数据。
|
6月前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
63 2
|
Java
欢迎来到Jsp编程课时四——内置对象 中四大作用域。(二)
欢迎来到Jsp编程课时四——内置对象 中四大作用域。(二)
110 0
欢迎来到Jsp编程课时四——内置对象 中四大作用域。(二)
|
存储 Java
每日一道面试题之jsp 有哪些内置对象?作用分别是什么?
每日一道面试题之jsp 有哪些内置对象?作用分别是什么?
|
缓存 安全 Java
JSP内置对象总结
JSP内置对象总结
132 0
|
Java
jsp相关概念以及九大内置对象
jsp相关概念以及九大内置对象
87 0
|
1月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
66 0