#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,一经查实,立即删除!

相关文章

按照时间,每天分区;按照数字,200000一个分区

按照时间&#xff0c;每天分区 create table test_p(id number,createtime date) partition by range(createtime) interval(numtodsinterval(1,day)) store in (users) ( partition test_p_p1 values less than(to_date(20140110,yyyymmdd)) ); create index index_test_p_id …

如果您不将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.…

集合里面的 E是泛型 暂且认为是object

集合里面的 E是泛型 暂且认为是object转载于:https://www.cnblogs.com/classmethond/p/10011374.html

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…

异常处理的原则

1&#xff1a;函数内部如果抛出需要检测的异常&#xff0c;那么函数上必须要声明&#xff0c;否则必须在函数内用try catch捕捉&#xff0c;否则编译失败。2&#xff1a;如果调用到了声明异常的函数&#xff0c;要么try catch 要么throws&#xff0c;否则编译失败。3&#xff…

模块化整理

#region常量#endregion#region 事件#endregion#region 字段#endregion#region 属性#endregion#region 方法#endregion#region Unity回调#endregion#region 事件回调#endregion#region 帮助方法#endregion来自为知笔记(Wiz)转载于:https://www.cnblogs.com/soviby/p/10013294.ht…

在oracle中处理日期大全

在oracle中处理日期大全 TO_DATE格式 Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four …

BZOJ4868 Shoi2017期末考试(三分+贪心)

容易想到枚举最晚发布成绩的课哪天发布&#xff0c;这样与ti和C有关的贡献固定。每门课要么贡献一些调节次数&#xff0c;要么需要一些调节次数&#xff0c;剩下的算贡献也非常显然。这样就能做到平方级别了。 然后大胆猜想这是一个凸函数三分就能A掉了。具体的&#xff0c;延迟…

SQL的执行计划

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

问卷 假设检验 t检验_真实问题的假设检验

问卷 假设检验 t检验A statistical Hypothesis is a belief made about a population parameter. This belief may or might not be right. In other words, hypothesis testing is a proper technique utilized by scientist to support or reject statistical hypotheses. Th…

webpack打包ES6降级ES5

Babel是一个广泛使用的转码器&#xff0c;babel可以将ES6代码完美地转换为ES5代码&#xff0c;所以我们不用等到浏览器的支持就可以在项目中使用ES6的特性。 安装babel实现ES6到ES5 npm install -D babel-core babel-preset-es2015 复制代码安装babel-loader npm install -D ba…

[转帖]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…

sqldeveloper的查看执行计划快捷键F10

简介&#xff1a;本文全面详细介绍oracle执行计划的相关的概念&#xff0c;访问数据的存取方法&#xff0c;表之间的连接等内容。并有总结和概述&#xff0c;便于理解与记忆!目录---一&#xff0e;相关的概念Rowid的概念Recursive Sql概念Predicate(谓词)DRiving Table(驱动表)…

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

大数据技术 学习之旅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;请编写一个函数。” …

SQL 语句

去重字段里的值 SELECT DISTINCT cat_id,goods_sn,repay FROM ecs_goods where cat_id ! 20014 删除除去 去重字段 DELETE FROM ecs_goods where goods_id NOT IN ( select bid from (select min(goods_id) as bid from ecs_goods group by cat_id,goods_sn,repay) as b );转…

无监督学习 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;汉字…