1.request:客户端发送给服务器的所有数据,所有信息,都会被封装在request对象中:
2.response:相应内置对象,服务器响应给客户端的所有数据,都会被先封装进response中,再从response中取出来,生成一个http响应
response.getWriter():用于获取一个字符输出流,该流起点为服务器,终点为客户端
3.out:该对象是一个字符输出流,该流可以向客户端浏览器发送数据。
注:除该流之外,getOutputStream()可以获取一个字节流,这两个流方向一致,关系为互斥,不能同时使用
如果非要使用response.getOutputStream()获取流,必须先让out失效。
out.clearBuffer();
out=pageContext.pushBody();
4.session:会话范围,在jsp中特指一个用户从打开一个网站的任何一个页面开始,到关闭了该网站的所有页面为止。
session方法:
新会话?
<%=session.isNew() %>
会话id
<%=session.getId() %>
会话创建时间
<%=session.getCreationTime() %>
上次会话访问
<%=session.getLastAccessedTime() %>
当前系统时间
<%=System.currentTimeMillis() %>
会话闲置时间
<%=System.currentTimeMillis() - session.getLastAccessedTime() %>
让会话失效
<% //session.invalidate(); %>
5.application:应用对象,应用范围,从部署web应用开始,到卸载web应用为止,算一次应用范围。
application.setAttribute("a", "123");
application.getAttribute("a");
application.removeAttribute("a");
在application中设置,获取,删除参数,也可以在web.xml中设置初始化参数,在jsp中获取
abc
bca
<%=application.getInitParameter("abc") %>
6.pageContext:页面范围对象,在页面之内可以传参,除此之外,该对象可以获取其他8个内置对象。
该功能的定义为九大内置对象的方法设置提供了极大便利,因为如果九个内置对象拥有同一个方法,
不需要定义九种参数,而是传入一个pageContext即可。
pageContext.forward("b.jsp");//java代码版本的请求转发
pageContext.include("b.jsp");//java代码版本的动态包含
<%@ page errorPage="true" %>
<%@ page errorPage="b.jsp" %>//在页面上添加该指令元素可以指定出错后的跳转页面
在b.jsp上可以进行异常输出:
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page isErrorPage="true" %>
b.jsp
<%=exception %>
8.config:用于获取jsp页面的初始化参数。
aa
/b.jsp
x
hhhhh
aa
/b.php
在web.jsp中进行以上设置,就可以在特定的jsp页面中设置初始化参数
<%=config.getInitParameter("x") %>
即可在b.jsp页面中看到结果
9.page:代表当前jsp页面对象本身,它其实就是this,它可以获取page指令元素的info属性的内容
10.jsp中的四大范围:
在一个jsp页面设置四大范围,并在该页面获取
<%
pageContext.setAttribute("a", "页面范围");
request.setAttribute("a", "请求范围");
session.setAttribute("a", "会话范围");
application.setAttribute("a", "应用范围");
%>
<%=pageContext.getAttribute("a") %>
<%=request.getAttribute("a") %>
<%=session.getAttribute("a") %>
<%=application.getAttribute("a") %>
从当前页面进行请求转发到b.jsp,再次获取四大范围
可以看到页面范围丢失。
若从该界面进行跳转,直接改变链接访问b.jsp:
可以看到请求范围也随之丢失。
此时再关闭浏览器,重新打开并直接访问b.jsp
看到会话范围丢失。
重新部署web应用,并直接访问b.jsp
看到所有范围均无法获取到,由此可见,jsp中四大范围大小以此为:
pageContext