域对象的作用:保存数据,获取数据,共享数据

 

1.九大内置对象:不需要声明,就可以使用

①、request:就是HTTPServletRequest对象,代表的是客户端请求,主要是获取http协议传输的数据

②、response:HTTPServletResponse对象,代表的是服务端响应

③、session:HTTPSession对象,代表一次会话

④、application:ServletContext对象,代表当前Web应用

⑤、config:ServletConfig对象,代表当前Servlet,可以获取当前servlet配置信息

⑥、out:JspWriter对象,把结果输出到浏览器上

⑦、page:指当前jsp对应servlet的引用

⑧、exception:异常对象,可以处理jsp异常

⑨、pageContext:页面上下文,可以获取其他8个内置对象

2.jsp页面上四大域对象

作用域范围从大到小①>②>③>④

①、application:范围在当前web应用,只要在一处设置了,当前web应用下的其他地方都可以获取到

②、session:范围在一次会话,浏览器打开到关闭叫一次会话

③、request:范围在同一次请求

④、pageContext:范围在当前页面

四大域对象的例子:

attr.jsp:使用四个域对象存储值

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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-8">
<title>Insert title here</title>
</head>
<body>
<h1>第一个页面</h1>
<%
application.setAttribute("name", "ServletContext");
session.setAttribute("name", "ServletSession");
request.setAttribute("name", "Request");
pageContext.setAttribute("name", "PageContext");
%>
<hr>
application:<%=application.getAttribute("name") %>
<br>
session:<%=session.getAttribute("name") %>
<br>
request:<%=request.getAttribute("name") %>
<br>
pageContext:<%=pageContext.getAttribute("name") %>
<br>

<a href="attr1.jsp">下一个页面</a>
</body>
</html>

attr1.jsp:获取存在域对象中的值

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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-8">
<title>Insert title here</title>
</head>
<body>
<h1>第二个页面</h1>
application:<%=application.getAttribute("name") %>
<br>
session:<%=session.getAttribute("name") %>
<br>
request:<%=request.getAttribute("name") %>
<br>
pageContext:<%=pageContext.getAttribute("name") %>
<br>
</body>
</html>

一个jsp到另一个jsp

①、application:是在一个web应用中            application可以获取到值

②、session:范围在一次会话,浏览器打开到关闭叫一次会话    session可以获取到值

③、request:范围在同一次请求              因为第一次请求时在访问attr.jsp,访问attr1.jsp是第二次请求,request获取不到值

④、pageContext:范围在当前页面             跳转了页面,不在一个页面了,pageContext获取不到值

 

运行第一个界面,存值

点击跳转下一个页面,获取值

 

版权声明:本文为yangheIT原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yangheIT/p/11548310.html