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内置对象的相关内容总结
希望我的文章对大家有所帮助、谢谢~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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