jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp脚本中可以直接使用这9个对象。
上图是我们从index.jsp被翻译成的index_jsp.java文件中找到的内容。说明,翻译的过程中,自动的帮我们定义和初始化了这些内置对象。所以,我们在jsp页面中就可以直接用这些内置对象。
1.out对象
out的类型:JspWriter
out作用就是向客户端输出内容----out.write()
out缓冲区默认8kb,可以设置成0,代表关闭out缓冲区。内容直接写到respons缓冲器。
例子:新建out.jsp
<%@ page language="java" contentType="text/html; charset=UTF-16"
pageEncoding="UTF-16"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16">
<title>Insert title here</title>
</head>
<body>
aaaaaaaaaaaaa
<%
out.write("bbbbbbbbbbbbb");
response.getWriter().write("cccccccccccc");
%>
<%="dddddddddddd" %>
</body>
</html>
访问out.jsp
如果out缓冲区设置为0,内容直接写到respons缓冲区。
2.pageContext对象
jsp页面的上下文对象,作用如下:
page对象与pageContext对象不是一回事
1)pageContext是一个域对象
setAttribute(String name,Object obj)
getAttribute(String name)
removeAttrbute(String name)
pageContext可以向指定的其他域中存取数据
setAttribute(String name,Object obj,int scope)
getAttribute(String name,int scope)
removeAttrbute(String name,int scope)
findAttribute(String name)
---依次从pageContext域,request域,session域,application域中获 取属性,在某个域中获取后将不在向后寻找
四大作用域的总结:
page域:当前jsp页面范围
request域:一次请求
session域:一次会话
application域:整个web应用
pageContext可以获得其他8大隐式对象
例如:pageContext.getRequest()
pageContext.getSession()