内置对象定义
jsp内置对象就是不用自己定义,直接拿来使用的对象,就叫做内置对象,
内置对象一共九个,可以在web服务器解析jsp后得到的java源文件中看到
在tomcat服务器中的work中的.java源文件。
![](https://img-blog.csdn.net/20170727135516834watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21pdGhsaWFuZzE5OTY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
内置对象分为:
1.out
2.response
3.request
4.session
5.application
6.config
7.page-context
8.page
9.exception
下面我为大家详细的一一介绍这九大内置对象。
1.out
字符输出流,一般来讲,客户端发送给服务器的所有数据都封装在out对象中
//1.换行
out.println();
//2.不换行
out.print();
//3.清空缓冲区
out.clearBuffer();
//
2.response
服务器响应给客户端的所有数据,都会被封装进response中,再从response中取出来,制作一个http响应。
//1.获取一个字符输出流
PrintWriter pw = response.getWriter();
//2.获取一个字节输出流
OutPutStream os = response.getOutputStream();
//这里需要注意的是要使用字节流,必须让out这个字符输出流对象时效
//强制让out时效
out.clearBuffer(); //清空缓冲区
out = pageContext.pushBody();
//3.告诉浏览器,服务器响应的数据类型
response.setHeader("content-type","image/jpeg");//图片
4.重定向
response.sendRedirect(“跳转页面”);
**3.request**
客户端发送给服务器的所有数据,所有信息,都会封装在request内置对象中,
1.请求行
2.请求头
3.请求体
//获取请求行的数据
//1.获取请求方式 get/post/put等
request.getMethod();
//2.获取请求url //统一资源定位器获取绝对路径
request.getRequestURL();
//获取请求头的数据
request.getHeader(“添加请求头参数”);
/*
请求头参数
Accept:请求客户端接收数据类型
Accept-Language:请求语言
User-Agent:客户端版本
Accept-Encoding:默认编码
Host:告诉服务器使用的的是服务器上的那一台虚拟主机
*/
//获取其他信息
//1.获取客户端ip地址
request.getRemoteAddr();
//2.获取web应用在服务器的真实路径
request.getRealPath(“/”);
//3.给服务器设置编码
request.setCharacterEncoding();
//4.获取请求编码方式
request.getCharacterEncoding();
//在request范围内设置一个属性
request.setAttribute(“属性”,”属性值”);
request.getAttribute(“属性”);
//获取请求体中的参数
request.getParameter(“请求参数”);
//这是一个枚举类型
Enumeration e = request.getParameterNames();
**4.session**
会话:就是一个有开始,有结束的过程
例如:会议,从开会开始,到散会为止,算一个会议会话
*在jsp技术中,会话特指:一个用户从打开一个网站的任何一个页面开始,到关闭了该网站的所有页面为止,算一次jsp中的会话。*
//1.设置会话属性
session.setAttribute(“属性”,”属性值”);
//2.获取会话属性
session.getAttribute(“属性”);
//3.删除指定的属性
session.removeAttribute(“属性”);
//4.判断是否为新会话
session.isNew();
//5.会话id
session.getId();
//6.会话创建时间
session.getCreationTime();
//7.上次会话访问时间
session.getLastAccessedTime();
//8.让会话失效
session.invalidate();
**5.application**
*从部署web应用开始,到卸载web应用为止,算一次应用范围*
*只有重新部署web应用,或者直接重启服务器,才能销毁application范围*
//1.设置应用范围属性
application.setAttribute(“属性”,”属性值”);
//2.获取应用范围属性
application.getAttribute(“属性”);
//3.移除应用范围属性
application.removeAttribute(“属性”);
//4.获取初始化参数
application.getInitParameter();
**6.config**
*用于获取jsp页面的初始化参数*
//步骤1 在web.xml中为一个jsp页面配置初始化参数
config.getInitParameter(“属性”);
**7.page-context**
*页面范围,从进入一个jsp页面开始,到该jsp页面执行完毕,算一次页面范围*
//1.设置页面范围属性
page-context.setAttribute(“属性”,”属性值”);
//2.获取页面范围属性
page-context.setAttribute(“属性”);
//3.寻找属性,顺序是从小到大,如果在小范围内找到了,则不会在寻找
page-context.findAttribute(“属性”);
//5.获取请求范围对象
pageContext.getRequest() //== request
//6.获取会话范围对象
pageContext.getSession() //== session
//7.动态包含
pageContext.include(“包含页面”);
**8.page**
*获取page指令元素中的info属性内容*
*代表当前jsp页面本身,本质上就是this。*
**9.exception**
*该对象中,存放了上个页面抛出的异常*
*要使用该对象,必须在jsp页面上添加一个指令元素*
//设置错误跳转页面
<%@page errorPage=”跳转页面”%>
“`