#1123-JSP隐含对象

 

 


JSP 隐含对象


JSP隐含对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明。JSP隐含对象也被称为预定义变量。

 

JSP所支持的九大隐含对象:

 

对象,描述

request,HttpServletRequest类的实例

response,HttpServletResponse类的实例

out,PrintWriter类的实例,用于把结果输出至网页上

session,HttpSession类的实例

application,ServletContext类的实例,与应用上下文有关

config,ServletConfig类的实例

pageContext,PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问

page,类似于Java类中的this关键字

Exception,Exception类的对象,代表发生错误的JSP页面中对应的异常对象


request对象


request对象是javax.servlet.http.HttpServletRequest 类的实例。每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。


request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。

 

 


response对象

response对象是javax.servlet.http.HttpServletResponse类的实例。当服务器创建request对象时会同时创建用于响应这个客户端的response对象。

response对象也定义了处理HTTP头模块的接口。通过这个对象,开发者们可以添加新的cookies,时间戳,HTTP状态码等等。

 

 

out对象

out对象是 javax.servlet.jsp.JspWriter 类的实例,用来在response对象中写入内容。

最初的JspWriter类对象根据页面是否有缓存来进行不同的实例化操作。可以在page指令中使用buffered='false'属性来轻松关闭缓存。

JspWriter类包含了大部分java.io.PrintWriter类中的方法。不过,JspWriter新增了一些专为处理缓存而设计的方法。还有就是,JspWriter类会抛出IOExceptions异常,而PrintWriter不会。


下表列出了我们将会用来输出boolean,char,int,double,Srtring,object等类型数据的重要方法:

 

方法 描述

 

out.print(dataType dt) , 输出Type类型的值


out.println(dataType dt) , 输出Type类型的值然后换行

out.flush() , 刷新输出流

 

 

 

session对象

session对象是 javax.servlet.http.HttpSession 类的实例。和Java Servlets中的session对象有一样的行为。

session对象用来跟踪在各个客户端请求间的会话。

 

 


application对象


application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.ServletContext 类的实例。

这个对象在JSP页面的整个生命周期中都代表着这个JSP页面。这个对象在JSP页面初始化时被创建,随着jspDestroy()方法的调用而被移除。

通过向application中添加属性,则所有组成您web应用的JSP文件都能访问到这些属性。

 

 


config对象


config对象是 javax.servlet.ServletConfig 类的实例,直接包装了servlet的ServletConfig类的对象。

这个对象允许开发者访问Servlet或者JSP引擎的初始化参数,比如文件路径等。

以下是config对象的使用方法,不是很重要,所以不常用:


config.getServletName();

 

它返回包含在<servlet-name>元素中的servlet名字,注意,<servlet-name>元素在 WEB-INF\web.xml 文件中定义。

 

 

 

pageContext 对象


pageContext对象是javax.servlet.jsp.PageContext 类的实例,用来代表整个JSP页面。

这个对象主要用来访问页面信息,同时过滤掉大部分实现细节。

这个对象存储了request对象和response对象的引用。application对象,config对象,session对象,out对象可以通过访问这个对象的属性来导出。

pageContext对象也包含了传给JSP页面的指令信息,包括缓存信息,ErrorPage URL,页面scope等。


PageContext类定义了一些字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40余种方法,有一半继承自javax.servlet.jsp.JspContext 类。


其中一个重要的方法就是removeArribute(),它可接受一个或两个参数。比如,pageContext.removeArribute("attrName")移除四个scope中相关属性,但是下面这种方法只移除特定scope中的相关属性:

pageContext.removeAttribute("attrName", PAGE_SCOPE);

 

 

 

page 对象


这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表。

page 对象就是this对象的同义词。

 


exception 对象

exception 对象包装了从先前页面中抛出的异常信息。它通常被用来产生对出错条件的适当响应。

 

转载于:https://www.cnblogs.com/Alanf/p/10005818.html

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

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

相关文章

如果您不将Docker用于数据科学项目,那么您将生活在1985年

重点 (Top highlight)One of the hardest problems that new programmers face is understanding the concept of an ‘environment’. An environment is what you could say, the system that you code within. In principal it sounds easy, but later on in your career yo…

jmeter对oracle压力测试

下载Oracle的jdbc数据库驱动包&#xff0c;注意Oracle数据库的版本&#xff0c;这里使用的是&#xff1a;Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production&#xff1b; 一般数据库的驱动包文件在安装路径下&#xff1a;D:\oracle\product\10.2.…

docker部署flask_使用Docker,GCP Cloud Run和Flask部署Scikit-Learn NLP模型

docker部署flaskA brief guide to building an app to serve a natural language processing model, containerizing it and deploying it.构建用于服务自然语言处理模型&#xff0c;将其容器化和部署的应用程序的简要指南。 By: Edward Krueger and Douglas Franklin.作者&am…

SQL的执行计划

SQL的执行计划实际代表了目标SQL在Oracle数据库内部的具体执行步骤&#xff0c;作为调优&#xff0c;只有知道了优化器选择的执行计划是否为当前情形下最优的执行计划&#xff0c;才能够知道下一步往什么方向。 执行计划的定义&#xff1a;执行目标SQL的所有步骤的组合。 我们首…

[转帖]USB-C和Thunderbolt 3连接线你搞懂了吗?---没搞明白.

USB-C和Thunderbolt 3连接线你搞懂了吗&#xff1f; 2018年11月25日 07:30 6318 次阅读 稿源&#xff1a;威锋网 3 条评论按照计算行业的风潮&#xff0c;USB Type-C 将会是下一代主流的接口。不过&#xff0c;在过去两年时间里&#xff0c;关于 USB-C、Thunderbolt 3、USB 3.1…

大数据技术 学习之旅_为什么聚焦是您数据科学之旅的关键

大数据技术 学习之旅David Robinson, a data scientist, has said the following quotes:数据科学家David Robinson曾说过以下话&#xff1a; “When you’ve written the same code 3 times, write a function.”“当您编写了3次相同的代码时&#xff0c;请编写一个函数。” …

无监督学习 k-means_无监督学习-第4部分

无监督学习 k-means有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as much as …

vCenter 升级错误 VCSServiceManager 1603

近日&#xff0c;看到了VMware发布的vCenter 6.7 Update 1b的更新消息。其中有一条比较震撼。有误删所有VM的概率&#xff0c;这种BUG谁也承受不起。Removing a virtual machine folder from the inventory by using the vSphere Client might delete all virtual machinesIn t…

day28 socketserver

1. socketserver 多线程用的 例 import socket import timeclientsocket.socket() client.connect(("127.0.0.1",9000))while 1:cmdinput("请输入指令")client.send(cmd.encode("utf-8"))from_server_msgclient.recv(1024).decode("utf…

车牌识别思路

本文源自我之前花了2天时间做的一个简单的车牌识别系统。那个项目&#xff0c;时间太紧&#xff0c;样本也有限&#xff0c;达不到对方要求的95%识别率&#xff08;主要对于车牌来说&#xff0c;D,0&#xff0c;O&#xff0c;I&#xff0c;1等等太相似了。然后&#xff0c;汉字…

深度学习算法原理_用于对象检测的深度学习算法的基本原理

深度学习算法原理You just got a new drone and you want it to be super smart! Maybe it should detect whether workers are properly wearing their helmets or how big the cracks on a factory rooftop are.您刚刚拥有一架新无人机&#xff0c;并希望它变得超级聪明&…

【python】numpy库linspace相同间隔采样 详解

linspace可以用来实现相同间隔的采样&#xff1b; numpy.linspace(start,stop,num50,endpointTrue,retstepFalse, dtypeNone) 返回num均匀分布的样本&#xff0c;在[start, stop]。 Parameters(参数): start : scalar(标量) The starting value of the sequence(序列的起始点)…

Spring整合JMS——基于ActiveMQ实现(一)

Spring整合JMS——基于ActiveMQ实现&#xff08;一&#xff09; 1.1 JMS简介 JMS的全称是Java Message Service&#xff0c;即Java消息服务。它主要用于在生产者和消费者之间进行消息传递&#xff0c;生产者负责产生消息&#xff0c;而消费者负责接收消息。把它应用到实际的…

CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置

Cloudera Manager Server和Agent都启动以后&#xff0c;就可以进行CDH5的安装配置了。 准备文件 从 http://archive.cloudera.com/cdh5/parcels/中下载CDH5.14.0的相关文件 把CDH5需要的安装文件放到主节点上&#xff0c;新建目录为/opt/cloudera/parcel-repo把我们之前下载的…

node.js安装部署测试

&#xff08;一&#xff09;安装配置&#xff1a; 1&#xff1a;从nodejs.org下载需要的版本 2&#xff1a;直接安装&#xff0c;默认设置 &#xff0c;默认安装在c:\program files\nodejs下。 3&#xff1a;更改npm安装模块的默认目录 &#xff08;默认目录在安装目录下的node…

社群系统ThinkSNS+ V2.2-V2.3升级教程

WARNING本升级指南仅适用于 2.2 版本升级至 2.3 版本&#xff0c;如果你并非 2.2 版本&#xff0c;请查看其他升级指南&#xff0c;Plus 程序不允许跨版本升级&#xff01;#更新代码预计耗时&#xff1a; 2 小时这是你自我操作的步骤&#xff0c;确认将你的 2.2 版本代码升级到…

activemq部署安装

一、架构和技术介绍 1、简介 ActiveMQ 是Apache出品&#xff0c;最流行的&#xff0c;能力强劲的开源消息总线。完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现 2、activemq的特性 1. 多种语言和协议编写客户端。语言: Java, C, C, C#, Ruby, Perl, Python, PHP。应用协议: …

主串与模式串的匹配

主串与模式串的匹配 &#xff08;1&#xff09;BF算法&#xff1a; BF算法比较简单直观&#xff0c;其匹配原理是主串S.ch[i]和模式串T.ch[j]比较&#xff0c;若相等&#xff0c;则i和j分别指示串中的下一个位置&#xff0c;继续比较后续字符&#xff0c;若不相等&#xff0c;从…

什么是 DDoS 攻击?

欢迎访问网易云社区&#xff0c;了解更多网易技术产品运营经验。 全称Distributed Denial of Service&#xff0c;中文意思为“分布式拒绝服务”&#xff0c;就是利用大量合法的分布式服务器对目标发送请求&#xff0c;从而导致正常合法用户无法获得服务。通俗点讲就是利用网络…

nginx 并发过十万

一般来说nginx 配置文件中对优化比较有作用的为以下几项&#xff1a; worker_processes 8; nginx 进程数&#xff0c;建议按照cpu 数目来指定&#xff0c;一般为它的倍数。 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每…