JSP内置对象(9大内置对象和4种作用域)

JSP(JavaServer Pages)是一种用于开发动态Web应用程序的Java技术,它提供了一组内置对象和作用域,用于在JSP页面中访问和处理数据。

JSP的9大内置对象

  1. request(请求对象):代表客户端的HTTP请求,包含了客户端发送的参数和数据。
  2. response(响应对象):代表服务器对客户端的HTTP响应,用于向客户端发送数据和控制响应的行为。
  3. session(会话对象):代表客户端和服务器之间的会话,用于在多个请求之间共享数据。
  4. application(应用程序对象):代表整个Web应用程序,用于在不同的用户会话之间共享数据。
  5. out(输出对象):用于向客户端发送输出,可以将内容直接写入响应流中。
  6. config(配置对象):代表当前JSP页面的配置信息,例如JSP页面的初始化参数。
  7. page(页面对象):代表当前JSP页面本身,可以用于调用JSP页面中定义的方法。
  8. pageContext(页面上下文对象):提供了对当前JSP页面上下文的访问,包括其他内置对象的访问。
  9. exception(异常对象):代表在JSP页面中发生的异常,可以用于处理异常情况。

有些对象在JSP页面种不需要声明和实例化,可以直接在Java程序片和Java表达式部分使用,通常称这样的对象为JSP内置对象。JSP内置对象由Web服务器负责实现和管理,JSP自带了9个功能强大的内置对象,共分为四大类。

1、与 Input/Output 有关的内置对象

与Input/Output 有关的内置对象包括 requestresponseout,该类对象主要用来作为客户端和服务器间通信的桥梁。

request 对象表示客户端对服务器端发送的请求;

response对象表示服务器对客户端的响应;

而 out 对象负责把处理结果输出到客户端。

2、与 Context 有关的内置对象

与 Context(上下文)有关的内置对象包括 sessionapplicationpageContext。其中,session 对象表示浏览器与服务器会话的上下文环境;

application 对象表示应用程序(Web应用)的上下文环境;

pageContext 对象表示当前的JSP页面的上下文环境。

3、与 Servlet 有关的内置对象

与 Servlet 有关的内置对象包括 page config

page 对象表示JSP 文件转换为 Java文件后的 Servlet 对象;

config 对象表示 JSP 文件转換为 Java 文件后的 Servlet 的 ServletConfig对象。

4、与 Error 有关的内置对象

与 Error 有关的内置对象只有exception 对象。当JSP 网页有错误时将产生异常,该对象就是用来处理这个异常。

JSP的4种作用域

对象的作用域就是对象的生命周期和可访问性,在JSP 中有4种作用域,即页面域、请求域、会话域和应用域。
1、页面域

页面域(page scope)的生命周期是指页面执行期间,存储在页面域中的对象只能在它所在的页面被访问。

2、 请求域

请求域(request scope)的生命周期是指一次请求过程,包括请求被转发(forward)或者被包含(include)的情况,存储在请求域中的对象只有在此次请求过程中才可以被访问。

3、 会话域

会话域(session scope)的生命周期是指某个客户端与服务器所连接的时间,客户端在第1次访问服务器时创建会话,在会话过期或用户主动退出后会话结束,存储在会话域中的对象在整个会话期间(可以包含多次请求)都可以被访问。

4、应用域

应用域(application scope)的生命周期是指从服务器开始执行服务到服务器关闭为止,其生命周期是4个作用域中时间最长的,存储在应用域中的对象在整个应用程序运行期间可以被所有 JSP 和Servlet 共享访问。

JSP 的4种作用域分别对应 pageContext、request、session 和 application 内置对象,这 4 个内置对象都可以通过 setAttribute(String key, Object value)方法存储数据,通过getAttribute(String key) 获取数据。

简单总结的话,可以归为下面这张图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高校教务系统登录页面JS分析——河北农业大学教务系统

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

Python学习之路——文件部分【书接上回】

一、书接上回 上个博客我说过,为什么最开始的时候一定要将文件内的中文的逗号替换为英文的逗号,接下来,请看(其实想一想,感觉没必要,不过也是好的,总要练练手的嘛) def func03(st…

Allure03-报告结构解析

Allure03-报告结构解析 高清B站视频链接 一旦您了解了报告的外观。您可能希望获得更多数据丰富的报表。 您可能需要考虑为您的测试框架使用 Allure 适配器之一,这将允许收集 更多信息。跳转到集成部分,了解有关与测试框架集成的更多信息。 典型的报告由…

网络原理OSI

目录 一、应用层 1、功能 2、协议的分类 二、UDP原理(传输层) 1、协议端格式 2、格式解释 三、TCP原理(传输层) 1、协议端格式 2、长度 3、可靠传输 (1)确认应答 (2)超时…

设备树根节点下的compatile属性的作用

一. 简介 每个节点都有 compatible 属性,根节点 “ /” 也不例外。 imx6ull-alientek-emmc.dts 设备树 文件中的根 节点下也有一个 compatible 属性。 本文继续学习设备树文件的语法。具体学习根节点 "/" 下的 compatile属性的作用。 二. 设备树根节…

JavaScript的闭包、执行上下文、到底是怎么回事?还有必要学吗?

在上一课,我们了解了 JavaScript 执行中最粗粒度的任务:传给引擎执行的代码段。并且,我们还根据“由 JavaScript 引擎发起”还是“由宿主发起”,分成了宏观任务和微观任务,接下来我们继续去看一看更细的执行粒度。 一…

网络安全B模块(笔记详解)- Web渗透测试

Web渗透测试 1.通过渗透机Kali1.0对服务器场景PYsystem20192进行Web渗透测试(使用工具w3af的对目标Web服务器进行审计),在w3af的命令行界面下,使用命令列出所有用于审计的插件,将该操作使用的命令作为Flag值提交; 进入kali命令控制台中使用命令w3af_console进入w3af命令…

设计模式的艺术P1基础—2.4-2.11 面向对象设计原则

设计模式的艺术P1基础—2.4-2.11 面向对象设计原则 2.4 面向对象设计原则概述 向对象设计的目标之一在于支持可维护性复用,一方面需要实现设计方案或者源代码的重用,另一方面要确保系统能够易于扩展和修改,具有较好的灵活性。 面向对象设计…

收藏!一文读懂“灯塔工厂”完整申报流程

1、什么是灯塔工厂? 灯塔工厂是通过数字化、网络化和智能化手段,运用先进的工业4.0技术和理念,实现生产过程的全面自动化、精确化和优化。它不仅实现了数字化与物理世界的深度融合,而且提高了生产效率和质量,降低了制…

提升决策效率:探索NL2SQL和KBQA在实际应用中的奇迹

⭐简单说两句⭐ ✨ 正在努力的小新~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &…

kubernetes 网络解析

开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 基础 Kubernetes 使用扁平网络模型,所有 Pod 都可以直接相互…

CLIP论文总结

文章目录 NLP的积淀Method1. 预训练的方法:放宽约束:对比学习2. 模型训练训练时间 ExperimentsMotivationPrompt:提示:也就是文本的引导作用Prompt enginneringPrompt ensembling 对比实验 NLP的积淀 取之不尽用之不竭的自监督信…

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性

Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性 将skip属性注释掉或者改为false 如果为true,则工程找不到主启动类

Python print 高阶玩法

Python print 高阶玩法 当涉及到在Python中使用print函数时,有许多方式可以玩转文本样式、字体和颜色。在此将深入探讨这些主题,并介绍一些print函数的高级用法。 1. 基本的文本样式与颜色设置 使用ANSI转义码 ANSI转义码是一种用于在终端&#xff0…

k8s的集群调度---下

前情回顾 预算策略:过滤出合适的节点 优选策略:选择部署的节点 nodeName:硬匹配,不走调度策略。node01. nodeSelector:根据节点的标签选择,会走调度算法。 只要是走调度算法,在不满足预算策…

【hcie-cloud】【17】华为云Stack灾备服务介绍【灾备方案概述、备份解决方案介绍】【上】

文章目录 前言灾备方案概述灾备的定义灾备的重要性故障和灾难对业务连续性带来的挑战灾备系统的衡量指标RTO与RPO分析 灾备等级标准数据中心容灾解决方案全景图云灾备服务总结架构华为云Stack灾备服务总览 备份解决方案介绍云备份服务介绍备份服务架构介绍云备份服务组件功能介…

linux查找文件中的指定字符,并批量替换文件中指定字符

1、grep -rl “jquery-1.8.0.min.js” /opt 查找/opt 目录下存在jquery-1.8.0.min.js的文件 [rootlocalhost file1]# grep -rl "jquery-1.8.0.min.js" /opt /opt/file1/index.xhtml /opt/file2/index.xhtml /opt/shell.sh扩展:使用该命令可以查找文件中…

DevEco Studio预览时报错:Build task failed. Open the Run window to view details.

图一: 解决方案 图二 : 图三: 按照以上图示步骤,去掉图三中3号标记的勾选

/usr/bin/ld: error: ../../lib/libnvinfer.so: file too short

一、背景 在编译TensorRT官方的C库时,库里是提供了命令行工具bin文件夹下的可执行程序trtexec,可以直接进行onnx的fp16以及int8量化,但我模型的输入是5维,模型里面全都是3D卷积,所以要对底层头文件进行修改。重新编译…