JSP常用内置对象

1 篇文章 0 订阅

JSP常用内置对象属性保存范围

  1. page范围
    指设置的属性只在当前页面有效,通过pageContext的setAttribute()方法设置属性,getAttribute()方法获取属性。
<%--PageDemo.jsp 在page中设置属性--%>
<% pageContext.setAttribute("PageName","Page");%>

<%--PageDemo.jsp 在page中获取属性--%>
<% String pagename = (String)pageContext.getAttribute("PageName");
out.print("pagename="+pagename);
%>

<%--PageDemoTest.jsp 在page中获取属性--%>
<% String pagename = (String)pageContext.getAttribute("PageName");
out.print("pagename="+pagename);
%>
<%--PageDemoTest.jsp 无法获取page属性--%>
  1. request范围
    指属性在一次请求范围内有效,如果页面从一个页面跳转到另一个页面,则属性失效。这里的跳转指客户端跳转,浏览器地址会改变。request对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。request对象的作用域为一次请求。
    如下例子,打开浏览器,使用浏览器跳转的方式,request无法获取到RequestName的值
<%--RequestDemo.jsp 在request中设置属性--%>
<% request.setAttribute("RequestName","Request");%>
<a href="RequestDemoTest.jsp">跳转到RequestDemoTest.jsp</a>

<%--RequestDemoTest.jsp 在page中获取属性--%>
<% String requestname = (String)request.getAttribute("RequestName");
out.print("requestname="+RequestName);
%>

如下例子,打开浏览器,使用服务器跳转的方式,request可以获取到RequestName的值

<%--RequestDemo.jsp 在request中设置属性--%>
<% request.setAttribute("RequestName","Request");%>
<jsp:forward page="RequestDemoTest.jsp"></jsp:forward>

<%--RequestDemoTest.jsp 在request中获取属性--%>
<% String requestname = (String)request.getAttribute("RequestName");
out.print("requestname="+RequestName);
%>

request常用的方法。

这里写图片描述
3. response范围
response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。
这里写图片描述
4. cookie范围
Cookie是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户电脑上保存信息并且随后再取回它。举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上。
5. session范围
session指客户浏览器与服务器一次会话范围内,如果和服务器断开连接,那么这个属性就失效了,通过使用session的setAttribute()方法设置属性,并通过session的getAttribute()方法取得属性。

<%--SessionDemo.jsp 在session中设置属性--%>
<% session.setAttribute("SessionName","Session");%>
<a href="SessionDemoTest.jsp">跳转到SessionDemoTest.jsp</a>

<%--SessionDemoTest.jsp 在session中获取属性--%>
<% String sessionname = (String)session.getAttribute("SessionName");
out.print("sessionname="+SessionName);
%>

以上例程,无论是客户端跳转还是服务器端跳转,都能获取session范围的属性,但是如果重新打开浏览器的SessionDemoTest.jsp ,就不能在获得session属性,因为会话已经结束。
这里写图片描述
6. application范围
指在整个服务器范围内,直到服务器停止以后才会失效。

<%--ApplicationDemo.jsp 在application中设置属性--%>
<% application.setAttribute("ApplicationName","Application");%>
<a href="ApplicationDemoTest.jsp">跳转到ApplicationDemoTest.jsp</a>

<%--ApplicationDemoTest.jsp 在application中获取属性--%>
<% String applicationname= (String)application.getAttribute("SessionName");
out.print("applicationname="+ApplicationName);
%>

以上例程,application范围内保存的属性只要服务器不重启,就能够在任意界面中获得,就算重打开浏览器也是能够获取到属性值。
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值