JSP内置对象概述

JSP使用java作为脚本语言、具有强大的对象处理能力、并且可以动态的创建Web页面的内容、但是java语言的对象在使用之前必须先进行实例化、这是一件相对来说较为繁琐的事情。故而、JSP提供了由容器实现和管理的内置对象、也称为隐含对象。这些内置对象可以直接使用而不用进行实例化、起到了一定的简化页面的作用。

JSP中一共有9个内置对象、分别是:request、response、session、application、out、pageContext、config、page和exception。本文主要讲述前五个常用的内置对象的相关内容。

1.request:
request对象封装了客户端生成的HTTP请求的所有细节、主要包含HTTP的请求头信息、系统信息、请求方式以及请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求的各项参数。
1.1获取访问请求参数

<%
request.getParameter("参数名");
%>

通过参数名来获取参数对应的值、当参数不存在的时候、返回null;当参数值为空的时候、返回空的字符串""
实例:indexA.jsp页面和indexB.jsp页面、从A页面向B页面跳转、并传递两个参数userId和userName;

/*indexA.jsp:*/
<body>
 <a href="indexB.jsp?userId=5&userName=">跳转B页面</a>
 </body>
/*indexB.jsp:*/
<%@page language="java"%>
 <%@page contentType="text/html"%>
 <%@page pageEncoding="UTF-8"%>
 <%
    String u_id = request.getParameter("userId");
    String u_name = request.getParameter("userName");
    String u_psd = request.getParameter("password");
 %>
 
 
 <body>
 userId的参数值是:<%= u_id%><br />
 userName的参数值是:<%= u_name%><br />
 password的参数值是:<%= u_psd%>
 </body>
/*indexB.jsp页面的输出结果为:*/
userId的参数值是:5
userName的参数值是:
password的参数值是:null

1.2在作用域中管理属性
设置属性值:

request.setAttribute(String name, Object obj);

获取属性值:(getAttribute获得的属性是Object类型的、如果需要字符串则用 toString() 转换);

request.getAttribute(String name);

1.3获取cookie
cookie的主要方法有:
获得所有cookie对象的集合 getCookies();
获取cookie对象的值 getVaule();
获取指定名称的cookie getName();
将一个cookie对象发送到客户端,使用response对象的addCookie();
在使用cookie时、应该保证客户浏览器允许使用cookie。

除此之外、使用 request 对象还可以获取客户端信息、设置显示国际化信息、解决中文乱码等。

2.response对象
2.1重定向网页

response.sendRedirect(String path);

通过sendRedirect来设置重定向网页、重定向操作之后、request中的属性全部失效、并且开始一个新的request对象。sendRedirect的参数path是制定目标的路径、可以是相对路径、也可以是不同主机的其它URL地址。
2.2处理HTTP文件头
禁用缓存

<%
    response.setHeader("Cache-Control","no-store");
    response.setDateHeader("Expires",0);
%>

自动刷新

<%
    response.setHeader("refresh","10");
%>

定时跳转网页(5秒后跳转到login.jsp页面)

<%
    response.setHeader("refresh","5;URL=login.jsp");
%>

2.3设置输出缓冲
response.setBufferSize(32); 设置缓冲区大小为32kb

3.session对象
session.setAttribute("username","xiyuanqian");
session.getAttribute("username");
session.removeAttribute("username"); //移除
session.invalidate(); // 销毁

4.application对象
application对象提供了对应用程序初始化参数进行访问的方法。服务器开启时创建,关闭时销毁,比session生命周期更长
用于保存所有应用程序中的公有数据
管理应用程序环境属性
获得所有的application对象使用的属性名 getAttributeNames();
获得application对象的指定对象名 getAttribute(String name);
使用指定名称和指定对象在application中进行关联 setAttribute(String key, Object obj);
从application对象中移除指定对象名 removeAttribute(String name);

5.out对象
out对象用于在web浏览器中输出信息,并且管理应用服务器上的输出缓冲区
输出信息:
out.print(name); 等价于<%=name%>
out.println("..."); 想要看出是否换行,需要将这些内容用<pre></pre>标签包裹
管理响应缓冲:
out.clear() 清除所有缓冲区的内容
out.clearBuffer() 清楚当前缓冲区的内容
out.flush() 刷新流
out.isAutoFlush() 检测当前缓冲区满时是自动清空还是抛出异常
out.getBufferSize() 获取缓冲区的大小

以上就是JSP内置对象的相关内容总结
希望我的文章对大家有所帮助、谢谢~~~

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

推荐阅读更多精彩内容

  • 一、JSP内置对象简介 JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。开发者可...
    年少懵懂丶流年梦阅读 3,650评论 0 8
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,504评论 18 399
  • 曾经读到过一个哲学家说生活是一连串的偶然组成的。 于我而言,我却不相信偶然。我是一个理工科出生的女生,从3岁开始却...
    木声_Linxin阅读 176评论 0 0
  • 我是 女人 胡99 2017 有时觉得做个女人, 漂亮很重要。 后来觉得, 品位和气质很重要。 再后来觉得...
    99阅读 287评论 2 9