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:*/

 跳转B页面
 
/*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");
 %>
 
 
 
 userId的参数值是:<%= u_id%>
userName的参数值是:<%= u_name%>
password的参数值是:<%= u_psd%>
/*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("..."); 想要看出是否换行,需要将这些内容用

标签包裹
管理响应缓冲:
out.clear() 清除所有缓冲区的内容
out.clearBuffer() 清楚当前缓冲区的内容
out.flush() 刷新流
out.isAutoFlush() 检测当前缓冲区满时是自动清空还是抛出异常
out.getBufferSize() 获取缓冲区的大小

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

你可能感兴趣的:(JSP内置对象概述)