JSP共享范围

概念:对象的声明周期和可访问性称为作用域(scope).

注:有时候内置对象的作用域一旦设置就不能修改,其他对象(如JavaBean)可以设置他的作用域

作用域类型:

Page:页面域(对象只对于它所在页面可访问)

Request:请求域(对象在相应请求的生命周期内有效,即对象在创建它的页面内有效,以及请求被转载和包含的页面内有效。请求域的对象是线程安全的,只有相应请求的执行     线程可以访问这些对象)

     所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。在这个过程中可能使用forward的方式跳转了多个jsp页面,在这些页面里你都可     以使用这个变量。

Session:回话域(对于参与某个客户端会话的所有应用组件是有效的。这类对象不是线程安全的)

     所谓当前回话,是指从用户打开浏览器到用户关闭浏览器这中间的过程

Application:应用域(应用域的对象在整个应用的整个生命周期内都是有效果的。这类对象不是线程安全的)

        整个应用是指从应用启动,到应用结束。我们没有说“从服务器启动,到服务器关闭”,是因为一个服务器可能部署多个应用,当然你关闭了服务器,就会把上        面所有的应用都关闭了。

        application作用域里的变量,它们的存活时间是最长的,如果不进行手工删除,它们就一直可以使用。

各种setAttribute() 方法比较:

使用pageContext所设定的属性对象,共享范围限于同一个JSP页面。

使用session设定的属性在同一个进程中可以共享。

使用request所设定的属性对象,在同一个 request处理期间可以共享(包括forward给其它JSP页面)。

使用session对象所设定的属性对象则限于同一个进程作用期间可以共享。

使用application对象设定的属性,在整个Web应用程序中的JSP页面都可 共享。

时间: 2024-08-06 00:15:40

JSP共享范围的相关文章

jsp重定向和转发

表单提交到servlet后,servlet进行转发之后浏览器上的url为什么还是servlet的url-pattern,但是页面内容却是跳转之后页面的内容. 研究了半天之后发现这个和转发和重定向有关系 当使用转发方法的时候,前台提交的表单的内容在servlet中利用request对象可以获取到,而跳转到result.jsp之后,在result.jsp中用request也能获取到提交的内容.这里浏览器的地址是servlet的映射地址. 而使用重定向方法的时候,前台提交的表单内容在servlet中可

JSP总结报告二(域对象,请求转发,重定向)

一. JSP四大域对象介绍 1. pageContext  :  属性的作用范围仅限于当前 JSP 页面. 2. request:  属性的作用范围仅限于同一个请求. 3. session: 属性的作用范围限于一次会话, 浏览器打开直到关闭称之为一次会话(在此期间会话不失效). 4. application (servletContext ): 属性的作用范围限于当前 WEB 应用. 是范围最大的属性作用范围, 只要在一处设置属性, 在其他各处的 JSP 或 Servlet 中都可以获取到. 二

【Servlet】深入浅出Java重定向和请求转发

import java.text.*; import java.util.*; import java.io.*; import javax.servlet.http.*; import javax.servlet.*; import com.bjpowernode.exam.model.*; import com.bjpowernode.exam.manager.*; public class SearchStudentServlet extends HttpServlet { public

Java Portlet 规范概述

首先,解释几个基本的术语. 1)Portal Portal 是一种 web 应用,通常具有个性化.单点登录.来自不同源的内容聚合(aggregation)并提供信息系统表现层等特点.所谓聚合,是指将不同来源的内容整合到一个 web 页面的操作.一个 Portal 应用可通过复杂的个性化配置为用户提供定制的内容,而 Portal 页面也可含有不同的 portlet 为不同的用户生成内容. 互联网流行之初,用户与 web 的交互通常是一个 URL 访问一个单一的静态 web 站点.随着 applet

struts.xml常用元素配置和结果集配置

1.struts.xml的常用元素配置介绍 (1).<package/>元素:表示包整个概念,和代码中的package没有关系: 仅仅是从逻辑上将<action>,<interceptors/>等元素做模块管理. package的常见的属性: a>name:逻辑分包的名字,应用中有多个<package>元素,得保证name属性的唯一性. 因为该名字可以用来别别的<package>元素所继承. b>extends:比如A<pack

请求转发与响应重定向

转发在服务器端完成的:重定向是在客户端完成的 转发的速度快:重定向速度慢 转发的是同一次请求:重定向是两次不同请求 转发不会执行转发后的代码:重定向会执行重定向之后的代码 转发地址栏没有变化:重定向地址栏有变化 转发必须是在同一台服务器下完成:重定向可以在不同的服务器下完成 如果不理解请看下面: 请求--转发 地址不变,数据存在请求中 客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther

session cookie application的区别

方法 信息量大小 保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般 为20分钟) 单个用户 服务器端 Cookie 小量,简单的数据 可以根据需要设定 单个用户 客户端 1.Application对象 Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(g

Java web每天学之Servlet工作原理详情解析

上篇文章中我们介绍了Servlet的实现方式以及Servlet的生命周期,我们这篇文章就来介绍一下常用对象. 点击回顾:<Java Web每天学之Servlet的工作原理解析>:<Java Web每天学之Servlet的工作原理解析(二)> 一.HttpServletRequest对象 1.介绍HttpServletRequest对象:主要作用是用来接收客户端发送过来的请求信息,例如:请求的参数,发送的头信息等都属于客户端发来的信息,service()方法中形参接收的是HttpSe

Servlet转发和重定向response.sendRedirecte()区别 (转)

转发(forward):IE浏览器地址不会改变,始终是同一个请求.重定向(sendRedirect): IE浏览器地址会改变,用两个请求.1)转发a)地址栏不会改变b)转发只能转发到当前web应用内的资源 c)可以在转发过程中,可以把数据保存到request域对象中 //Servlet转发 request.getRequestDispatcher("/list.jsp").forward(request,response); 转发过程 客户首先发送一个请求到服务器端,服务器端发现匹配的