JSP常用内置对象

来源:互联网 发布:爱淘宝铅笔盒 编辑:程序博客网 时间:2024/05/18 01:34

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范围内保存的属性只要服务器不重启,就能够在任意界面中获得,就算重打开浏览器也是能够获取到属性值。
这里写图片描述

原创粉丝点击