JSP四大域

JSP四大域对象

  1. pageContext
    当前jsp页面范围内有效
  2. request
    一次请求内有效
  3. session
    一次会话范围内有效,也就是打开浏览器访问服务器到关闭浏览器
  4. application
    整个Web工程内有效

作用范围

创建一个four.jsp工程

<!-- 四大域的作用范围 -->
	<%
		pageContext.setAttribute("key", "pageContext");
		request.setAttribute("key", "request");
		session.setAttribute("key", "session");
		application.setAttribute("key", "application");
	%>
	// 1. pageContext 当前jsp页面范围内有效
	pageContext -> <%=pageContext.getAttribute("key") %><br/>
	// 2. request	一次请求内有效
	request -> <%=request.getAttribute("key") %><br/>
	// 3. session 一次会话范围内有效(打开浏览器访问服务器,直到浏览器关闭) 
	session -> <%=session.getAttribute("key") %><br/>
	// 4. application 整个web工程内有效 -->
	application -> <%=application.getAttribute("key") %>

当前JSP启动之后
在这里插入图片描述
让pageContext失效,也就是离开当前页面,那我们只需要把这次请求转发到另外一个页面。

	// 转发请求 
	<% request.getRequestDispatcher("/jspinit/fourDemo.jsp").forward(request, response); %>

然后再创建一个fourDemo.jsp工程

	//1. pageContext 当前jsp页面范围内有效
	pageContext -> <%=pageContext.getAttribute("key") %><br/>
	//2. request	一次请求内有效
	request -> <%=request.getAttribute("key") %><br/>
	//3.session 一次会话范围内有效
	session -> <%=session.getAttribute("key") %><br/>
	//4. application 整个web工程内有效
	application -> <%=application.getAttribute("key") %>

请求转发之后,已经转向了另外一个页面,也就代表着pageContext的值已经失效,结果为null;(因为由four.jsp转发至fourDemo.jsp属于一次请求,所以request的值还有效)
在这里插入图片描述
request的作用范围是一次请求有效,我们直接访问fourDemo.jsp时,已经不属于一次请求,测试发现,request对应的key值已经为null。
在这里插入图片描述
session的作用范围是一次会话范围内有效,而我们只需要关闭浏览器,再启动就能得到结果
在这里插入图片描述
application的作用范围是整个web工程,所以想让applicable失效,我们需要重启服务器,再直接访问fourDemo.jsp,就能发现
在这里插入图片描述
所以它们的作用范围关系
pageContext < requset < session < application

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值