JSP内置对象

前言:在开始介绍JSP的内置对象之前,先讲解JSP中4种属性范围,分别是page、request、session和application。对这几个作用范围的说明如下:

1. page范围:指所设置的属性仅在当前页面内有效。使用pageContext的setAttribute()方法可以设置属性值,使用pageContext的getAttribute()可以获得属性值。

2. request范围:指属性仅在一次请求的范围内有效。使用request的setAttribute()方法可以设置属性值,使用request的getAttribute()可以获得属性值。

3. session范围:指的是属性仅在浏览器与服务器进行一次会话的范围内有效,当和服务器断开连接后,属性就会失效。使用session的setAttribute()方法可以设置属性值,使用session的getAttribute()可以获得属性值。

4. application范围:指属性在整个Web应用中都有效,当和服务器停止后才失效。使用application的setAttribute()方法可以设置属性值,使用application的getAttribute()可以获得属性值。


下面开始介绍JSP的9种内置对象:


request对象

用于获取客户端信息,例如我们在表单中填写的信息等。实际上,JSP容器会将客户端的请求信息封装在request对象中。在客户端发出请求时会创建request对象,在请求结束后,则会销毁request对象。

通常在应用中用的最多的就是客户端请求的参数名称和参数值。在request对象中提供了一系列的方法用来获取客户端的请求参数,这些方法包括getParameter、getParameterNames、getParameterValues和getParameterMap。


response对象

response对象包含了从JSP页面返回客户端的所有信息,其作用域是它所在的页面。response对象是javax.servlet.ServletResponse类的一个实例,它封装由JSP产生的响应,并返回客户端以响应请求。它被作为_jspService()方法的一个参数而由引擎传递给JSP,在这里JSP要改动它。

response对象经常用于设置HTTP标题、添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL。

response的一个主要应用是重定向。可以通过response的sendRedirect(String url)方法实现重定向。


out对象

out内置对象是一个缓冲的输入流,用来向客户端返回信息。它是javax.servlet.jsp.JspWriter的一个实例。由于向客户端输出时要先进行连接,所以总是采用缓冲输出的方式,因此out是缓冲输入流。

out对象的典型应用就是向客户端输出数据。


session对象

session对象是会话对象,用来纪录每个客户端的访问状态。

与session对象想逛的操作中最重要的就是关于属性的操作,与属性操作相关的方法主要有:setAttribute()、getAttribute()和maillogout.jsp。


application对象

application对象用于获取和设置Servlet的相关信息,它的生命周期是从服务器启动直到服务器关闭为止,即一旦创建一个application对象,该对象将会一直存在,直到服务器关闭。application中封装了JSP所在的Web应用中的信息。

application对象的常用方法如下:

void setAttribute(String name,Object value)   以键值对的方式,将一个对象的值存放到application中。

Object getAttribute(String name)   根据属性名获取application中存放的值。


pageContext对象

pageContext对象是一个比较特殊的对象,使用它不仅可以设置page范围内的属性,还可以设置其他范围内的属性。通过pageContext还可以访问本页面中的所有其他对象。


page对象

page对象指的是当前的JSP页面本身,它是java.lang.Object类的对象,通过page对象可以方便地调用Servlet类中定义的方法。page对象在实际开发过程中并不经常使用。


config对象

config对象是ServletConfig类的一个实例,在Servlet初始化时,可以通过config向Servlet传递信息。所传递的信息可以是属性名和属性值构成的名值对,也可以是通过ServletContext对象传递的服务器的相关信息。


exception对象

exception对象是java.lang.Throwable类的对象,用来处理页面的错误和异常。在使用JSP进行开发时,习惯的做法是在一个页面中使用page指令的errorPage属性,让该属性指向一个专门用于处理异常处理的页面。如果在JSP页面中有未捕获的异常,则会生成exception对象,然后将exception对象传递到page指令中设置的异常处理页面中,在异常处理页面中对exception对象进行处理。在异常处理页面中需要将其page指令的isErrorPage属性设置为true才可以使用exception对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...
    WendyVIV阅读 2,116评论 1 18
  • 内置对象简介 JSP 内置对象是 Web 容器创建的一组对象,不需使用 new 关键字就可以直接使用的内置对象。 ...
    Yanci516阅读 1,530评论 0 5
  • JSP包含九种内置对象,包含:(以下都是对象的引用,而不是类名。)1、request,请求对象2、response...
    exmexm阅读 579评论 0 0
  • JSP使用java作为脚本语言、具有强大的对象处理能力、并且可以动态的创建Web页面的内容、但是java语言的对象...
    无意惹东风阅读 296评论 0 0
  • 本文包括:out(常用)request(重点)response(重点)get与post(难点)请求重定向与请求转发...
    廖少少阅读 334评论 0 2