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 ...
随机推荐
- 【并发编程】Java并发编程-看懂AQS的前世今生
在我们可以深入学习AbstractQueuedSynchronizer(AQS)之前,必须具备了volatile.CAS和模板方法设计模式的知识,本文主要想从AQS的产生背景.设计和结构.源代码实现及 ...
- c学习 - 算法
简介: 一个程序包括两方面内容:数据结构.算法 数据结构:对数据的描述,包括数据的类型和数据的组织形式 算法:对操作的描述,即操作步骤 (程序=算法+数据结构) 算法是灵魂,数据结构是加工对象,语言是 ...
- MyBatis(3):优化MyBatis配置文件
一.连接数据库的配置单独放在一个properties文件中 1,创建一个database.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql: ...
- 有了代码变更分解提交工具SmartCommit,再也不担心复合提交了
摘要:文将介绍一个代码提交辅助工具SmartCommit,其主要功能是通过杂糅变更分解算法自动生成分组提交方案,接受开发者的反馈和交互式调整,渐进式地引导和辅助开发者做出符合最佳实践的原子提交. 本文 ...
- Docker通过阿里云镜像仓库使用Gitlab_CI部署SpringBoot项目
Docker.Gitlab.阿里云镜像仓库.SpringBoot的相关安装.搭建这里就不讲了. Linux 安装 Docker :https://www.cnblogs.com/linnuo/p/15 ...
- Linux 编译安装、压缩打包、定时任务
目录 Linux 编译安装 知识储备: wget命令 编译安装 Linux 压缩打包 gzip压缩 bzip2压缩 tar打包 Linux 定时任务 相关文件及操作 Linux 编译安装 编译安装就是 ...
- LuoguP5238 整数校验器 题解
Content 给定两个整数 \(l,r\),再给定 \(T\) 个整数,请判断对于每个整数 \(x\),是否满足以下要求: \(x\in[l,r]\). \(x\) 格式合法. 数据范围:\(-2^ ...
- react 结合antd 实现分页效果
import React, { useState, useEffect } from "react"; // antd import { Pagination } from &qu ...
- WPF DataGrid OxyPlot 卡顿优化
不是优化,我是想用这个标题吸引遇到相同问题的同学过来看看. UI如下,左边DataGrid有7列,右边OxyPlot显示折线图 列表4000+数据,折线图4000+个点,页面卡的用不了. 体现就是列表 ...
- linux(centos)系统安装activemq
activemq是消息中间件,可以用来 解耦.消峰.异步 需要先安装jdk环境:https://www.cnblogs.com/pxblog/p/10512886.html 1.下载文件 (也可以直接 ...