一、隐式对象的概述

在JSP页面中,有一些对象需要频繁使用,如果每次都重新创建这些对象则会非常麻烦。为了简化Web应用程序的开发,JSP2.0规范中提供了9个隐式(内置)对象,它们是JSP默认创建的,可以直接在JSP页面中使用。这9个隐式对象的名称、类型和描述如表所示。

二、out对象

在JSP页面中,经常需要向客户端发送文本内容,这时,可以使用out对象来实现。out对象是javax.servlet.jsp.JspWriter类的实例对象,它的作用与ServletResponse.getWriter()方法返回的PrintWriter对象非常相似,都是用来向客户端发送文本形式的实体内容。不同的是,out对象的类型为JspWriter,它相当于一种带缓存功能的PrintWriter。接下来,通过一张图来描述JSP页面的out对象与Servlet引擎提供的缓冲区之间的工作关系,具体如图所示。

从图可以看出,在JSP页面中,通过out隐式对象写入数据相当于将数据插入到JspWriter对象的缓冲区中,只有调用了ServletResponse.getWriter()方法,缓冲区中的数据才能真正写入到Servlet引擎所提供的缓冲区中。

案例:演示out对象的使用及原理分析

三、pageContext对象

在JSP页面中,使用pageContext对象可以获取JSP的其他8个隐式对象。pageContext对象是javax.servlet.jsp.PageContext类的实例对象,它代表当前JSP页面的运行环境,并提供了一系列用于获取其他隐式对象的方法。pageContext对象获取隐式对象的方法如下表所示。

上表中列举了pageContext获取其他隐式对象的方法,这样,当传递一个pageContext对象后,就可以通过这些方法轻松地获取到其他8个隐式对象了。
pageContext对象不仅提供了获取隐式对象的方法,还提供了存储数据的功能。pageContext对象存储数据是通过操作属性来实现的,下表列举了pageContext操作属性的一系列方法,具体如下:

上表列举了pageContext对象操作属性的相关方法,其中,参数name指定的是属性名称,参数scope指定的是属性的作用范围。pageContext对象的作用范围有4个值,具体如下:
pageContext.PAGE_SCOPE:表示页面范围
pageContext.REQUEST_SCOPE:表示请求范围
pageContext.SESSION_SCOPE:表示会话范围
pageContext.APPLICATION_SCOPE:表示Web应用程序范围
需要注意的是,当使用findAttribute()方法查找名称为name的属性时,会按照page、request、session和application的顺序依次进行查找,如果找到,则返回属性的名称,否则返回null。

案例:演示pageContext对象的使用及源码分析获取属性方法

四、exception对象

在JSP页面中,经常需要处理一些异常信息,这时,可以通过exception对象来实现。exception对象是java.lang.Exception类的实例对象,它用于封装JSP中抛出的异常信息。需要注意的是,exception对象只有在错误处理页面才可以使用,即page指令中指定了属性<%@ page isErrorPage=”true”%>的页面。

案例:演示exception对象的使用

6-4-JSP隐式对象相关推荐

  1. 23.JSP 隐式对象

    JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. JSP所支持的九大隐式对象: 对象 描述 reque ...

  2. jsp隐式对象_JSP隐式对象

    jsp隐式对象 JSP Implicit Objects are very useful for developers. This is the second post in the series o ...

  3. java | (二十七) JSP(1)指令,隐式对象,动作,标签,EL表达式

    目录 java脚本代码 JSP指令 Page指令 include指令 taglib指令 JSP隐式对象 out.response JSP作用域隐式对象 jsp动作 include动作 forward动 ...

  4. java 九大内置对象_JSP九大内置对象(隐式对象)

    一.JSP内置对象简介 JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象. 开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. 1.JSP内置对象 ...

  5. JSP--9大隐式对象

    一.JSP隐式对象的定义 JSP隐式对象是JSP容器为每个页面提供的java对象,开发者可以直接使用它们而不用显示声明.JSP隐式对象也被称为预定义对象. 二.JSP所支持的九大隐式对象: 对象 描述 ...

  6. JSP 三 :九大隐式对象

    2019独角兽企业重金招聘Python工程师标准>>> ###细节 每个JSP页面在第一次被访问时,web容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JS ...

  7. 大数据WEB阶段(十三)JSP(一)JSP基础、JSP指令详解、四大域九大隐式对象总结

    JSP基础.指令.四大作用域九大隐式对象总结 (一)JSP基础 一.JSP概述 jsp其实是java动态页面技术 HTML可以用来组织页面但是HTML是一种静态web资源技术无法嵌入动态数据. Ser ...

  8. JSP九大隐式对象详解

    九大隐式对象可以分为四类 第一类:与输入输出有关的request请求对象response响应对象out输出对象第二类:与作用域范围有关的pageContext页面作用域request请求作用域sess ...

  9. JSP→JSTL标准标签库简介与环境搭建、JSTL助手EL表达式EL隐式对象、标签→out、set、if、多选择配合、foreach、redirect、格式化、JSTL函数标签、自定义标签、标签类架构

    JSTL标准标签库简介与环境搭建 EL表达式与EL隐式对象 out标签 set标签 remove标签 catch标签 if标签 choose.when.otherwise配合标签 foreach标签 ...

最新文章

  1. 启明云端分享|Linux系统下如何调试I2C设备
  2. 算法笔记 -- 离散化
  3. (SPFA+最短路变形+回路对起点的影响)Arbitrage
  4. 分布式事务实践 解决数据一致性 分布式事务实现:Event Sourcing模式
  5. 产能过剩时代,为什么说“送比卖更赚钱”
  6. JAVA web App扫码登录
  7. 弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了
  8. PLC基本指令系统优势
  9. 微信小程序上传照片加水印
  10. C语言表示欧拉常数算法,计算li(x)的两个级数的C语言实现
  11. 跟同事关系再好,这3种话宁烂肚里也别张嘴,莫让福运悄悄离开你
  12. 对短信验证码发送次数的限制
  13. Python pass语句及其作用
  14. 第一节:(2)逻辑芯片工艺特性指标
  15. hadoop是什么?新手自学hadoop教程(一)
  16. vue中下载图片到本地
  17. 基于启发式算法与单目优化和马尔科夫模型的进出口公司的货物装运策略——整数线性规划 随机模拟
  18. 对付虚伪的人,用这招!
  19. iTOP-RK3568开发板Ubuntu系统修改dns
  20. SDUTOJ3626_团战可以输、提莫必须死(BFS)

热门文章

  1. 用python自己做游戏_练习项目20:使用python制作游戏(中)
  2. 【guava】GuavaCache缓存失效的时候做一些操作 RemovalListener
  3. 【Flink】大数据分析常用去重算法分析『HyperLogLog 篇』
  4. 95-180-045-源码-Watermark-递增时间戳分配器(AscendingTimestampExtractor)
  5. InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with UUID
  6. maven命令mvn package指定jar包名称
  7. kylin: build cube Hbase: Region Server 意外退出
  8. mac下intellij idea 永久破解
  9. 搭建微信公共平台的本地测试
  10. DNS 反向解析出错 Error in named configuration: zone centos.vbird/IN: loaded serial 2011080401