jsp:useBean的scope属性
1、分类
对于jsp:useBean创建的对象,由jsp:useBean的可选属性scope指定,可以存储于4个不同的位置:
- page(默认)
- request
- session
- application
使用
scope时,系统首先检查指定的位置是否存在指定名称的 bean。当系统找不到现有的 bean 时,才会创建新的 bean 。
2、page
<jsp:useBean scope="page"/>
page为scope默认取值,即省略scope属性时对应的范围。在处理当前请求期间,除了要将 bean 对象绑定到局部变量外,还将它放在pageContext对象中。servlet 可以通过调用预定义变量pageContext的getAttribute方法访问它。由于每个页面和每个请求都有不同的
pageContext对象,所以scope="page"(或省略scope)表示不共享 bean,也就是针对每个请求都创建新的 bean。
3、request
<jsp:useBean scope="request"/>
- 在处理当前请求期间,除了要将bean对象绑定到局部变量外,还将它放在
HttpServletRequest对象中,从而可以通过getAttribute方法访问它。 - 在使用
jsp:include、jsp:forward或者RequestDispatcher的include或forward方法时,两个JSP页面,或JSP页面和 servlet 将会共享request对象。属于requestScope的JavaBean对象也将伴随着request对象送出,被第二个JSP页面接收。因此,所有通过这两个操作指令连接在一起的JSP页面都可以共享一个request对象,共享这种类型的JavaBean对象。
4、session
<jsp:useBean scope="session"/>
- bean存储到与当前请求关联的
HttpSession对象中,可以使用getAttribute获取存储在HttpSession中的对象。 - 使用
session作用域,在第一个JSP页面中创建的JavaBean对象在这个用户访问的同一网站的所有的JSP页面中都是可用的,而且这个JavaBean对象的状态保持唯一性。如果用户B与用户A访问同一个页面,JSP容器同样会为用户B创建属于用户B的JavaBean对象,这些对象互不干涉。
5、application
<jsp:useBean scope="application"/>
- bean存储在
ServletContext中(通过预定义application变量或通过调用getServletContext获得)。 ServletContext由Web应用中多个servlet和JSP页面所共享。ServletContext中的值可以用getAttribute方法获取。
jsp:useBean的scope属性的更多相关文章
- jsp:useBean标准动作
1.bean法则 JavaBean和企业JavaBean是完全不相干的两个东西.普通的非企业JavaBean需要满足一定的规范才能被JSP和servlet使用: 1)必须有一个无参数的公共构造函数: ...
- JSP中scope属性 scope属性决定了JavaBean对象存在的范围
scope属性决定了JavaBean对象存在的范围. scope的可选值包括: ---page(默认值) ---request ---session ---application 1.page范围 ...
- Jsp:useBean标签的使用
1.<jsp:useBean id="为Bean起的别名(随意起)" class="Bean的目录,从包名开始写" scope="page | ...
- JSP---JavaBean的使用-jsp:useBean标签相关
JavaBean介绍: JavaBean其实就是一个遵循特定写法的java类,但是必须具有如下特点: 1.这个java类必须具有一个公开的无参构造函数 2.属性必须私有化,类必须公开 3.私有化的属性 ...
- <jsp:useBean>、<jsp:setProperty>与<jsp:getProperty>
<jsp:useBean>标签 会调用java对象的无参构造方法,来创建实例. <jsp:useBean>标签是用来搭配JavaBean元件的标准标签,这里指的JavaBean ...
- Jsp:useBean使用详解
<jsp:useBean>标签用来在jsp页面中创建一个Bean实例,定义语法如下: 一.<jsp:useBean>语法 <jsp:useBean id="id ...
- <jsp:useBean>动作的使用
jsp:useBean动作的使用 jsp:useBean动作用于在指定的范围内寻找指定名称的JavaBean对象,如果找到,则返回该对象的引用可以操作里边的属性.如果没有找到则重新实例化一个对象.并且 ...
- JSTL中的scope属性
前两天接到老大一个任务:要验证一下<c:import>能否动态地引入不同的文件.当时很兴奋,要知道在对日外包里面,这个也得算技术活了.呵呵! 说干就干,写了两个jsp文件:m.jsp t ...
- 菜鸟学习Struts——Scope属性
一.概念. 在Action映射配置中,Scope属性可以取值为:request或session.Scope属性表示:Struts框架在将 ActionForm对象(与目标Action匹配的Ac ...
随机推荐
- mysql 索引 零记
索引算法 二分查找法/折半查找法 伪算法 : 1. 前提,数据需要有序 2. 确定数据中间元素 K 3. 比如目标元素 A与K的大小 3.1 相等则找到 3.2 小于时在左区间 3.3 大于时在右 ...
- android获取路径目录方法
Environment常用方法: getExternalStrongeDirectory() 返回File,获取外部存储目录即SDCard getDownloadCacheDirectory() 返回 ...
- python pandas 中文件的读写——read_csv()读取文件
read_csv()读取文件1.python读取文件的几种方式read_csv 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为逗号read_table 从文件,url,文件型对象中加载带 ...
- java多线程2:Thread中的方法
静态方法: Thread类中的静态方法表示操作的线程是"正在执行静态方法所在的代码块的线程". 为什么Thread类中要有静态方法,这样就能对CPU当前正在运行的线程进行操作.下面 ...
- Redis cluster 集群报错合集
目录 一.连接集群操作报错(error)MOVED 二.集群关闭后重启报错 三.Redis (error) NOAUTH Authentication required 四.Redis集群使用中突然挂 ...
- typescript接口---interface
假如我现在需要批量生产一批对象,这些对象有相同的属性,并且对应属性值的数据类型一致.该怎么去做? 在ts中,因为要检验数据类型,所以必须对每个变量进行规范,自然也提供了一种批量规范的功能.这个功能就是 ...
- iOS-启动项目(二)引入第三方库
摘要 项目中很大几率会用到第三方库,通过 Pod 方式引入第三方库是效率很高的方式,这里介绍一个新的项目搭建 Pod 方式的环境,方便项目中引入第三方库文件. 刚创建的项目中如果需要用到第三方库,常用 ...
- 【 二进制】Windows API 记录
FindWindow 原型: HWND FindWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName ); 该函数获得一个顶层窗口的句柄,该窗口的类名和窗 ...
- android jni-dlerror报undefined symbol: JNI_OnLoad
以下是很简单的一个官方的jni方法,在MainActivity的onCreate中调用 extern "C" JNIEXPORT jstring JNICALL Java_com_ ...
- 移动应用开发:Flutter
目录 前言 Flutter 介绍 移动应用开发:选择对比 原生开发 H5 技术 React Native Flutter 总结 参考 前言 "镜子镜子 告诉我,世界上最好的语言是什么&quo ...