1、分类

对于jsp:useBean创建的对象,由jsp:useBean的可选属性scope指定,可以存储于4个不同的位置:

  • page(默认)
  • request
  • session
  • application

使用scope时,系统首先检查指定的位置是否存在指定名称的 bean。当系统找不到现有的 bean 时,才会创建新的 bean 。

2、page

<jsp:useBean scope="page"/>
  • pagescope默认取值,即省略scope属性时对应的范围。在处理当前请求期间,除了要将 bean 对象绑定到局部变量外,还将它放在pageContext对象中。servlet 可以通过调用预定义变量pageContextgetAttribute方法访问它。

  • 由于每个页面和每个请求都有不同的pageContext对象,所以scope="page" (或省略scope)表示不共享 bean,也就是针对每个请求都创建新的 bean。

3、request

<jsp:useBean scope="request"/>
  • 在处理当前请求期间,除了要将bean对象绑定到局部变量外,还将它放在HttpServletRequest对象中,从而可以通过getAttribute方法访问它。
  • 在使用jsp:includejsp:forward或者RequestDispatcherincludeforward方法时,两个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属性的更多相关文章

  1. jsp:useBean标准动作

    1.bean法则 JavaBean和企业JavaBean是完全不相干的两个东西.普通的非企业JavaBean需要满足一定的规范才能被JSP和servlet使用: 1)必须有一个无参数的公共构造函数: ...

  2. JSP中scope属性 scope属性决定了JavaBean对象存在的范围

    scope属性决定了JavaBean对象存在的范围. scope的可选值包括: ---page(默认值) ---request ---session ---application   1.page范围 ...

  3. Jsp:useBean标签的使用

    1.<jsp:useBean id="为Bean起的别名(随意起)" class="Bean的目录,从包名开始写" scope="page | ...

  4. JSP---JavaBean的使用-jsp:useBean标签相关

    JavaBean介绍: JavaBean其实就是一个遵循特定写法的java类,但是必须具有如下特点: 1.这个java类必须具有一个公开的无参构造函数 2.属性必须私有化,类必须公开 3.私有化的属性 ...

  5. <jsp:useBean>、<jsp:setProperty>与<jsp:getProperty>

    <jsp:useBean>标签 会调用java对象的无参构造方法,来创建实例. <jsp:useBean>标签是用来搭配JavaBean元件的标准标签,这里指的JavaBean ...

  6. Jsp:useBean使用详解

    <jsp:useBean>标签用来在jsp页面中创建一个Bean实例,定义语法如下: 一.<jsp:useBean>语法 <jsp:useBean id="id ...

  7. <jsp:useBean>动作的使用

    jsp:useBean动作的使用 jsp:useBean动作用于在指定的范围内寻找指定名称的JavaBean对象,如果找到,则返回该对象的引用可以操作里边的属性.如果没有找到则重新实例化一个对象.并且 ...

  8. JSTL中的scope属性

    前两天接到老大一个任务:要验证一下<c:import>能否动态地引入不同的文件.当时很兴奋,要知道在对日外包里面,这个也得算技术活了.呵呵! 说干就干,写了两个jsp文件:m.jsp  t ...

  9. 菜鸟学习Struts——Scope属性

    一.概念. 在Action映射配置中,Scope属性可以取值为:request或session.Scope属性表示:Struts框架在将     ActionForm对象(与目标Action匹配的Ac ...

随机推荐

  1. Android获取通知栏的高度

    1 public static int getStatusBarHeight(Context context){ 2         Class<?> c = null; 3        ...

  2. go 代理

    环境变量中设置 #GO111MODULE=auto GOPROXY=https://goproxy.io 如果不第一次,则在命令行设置 go env -w GO111MODULE=on go env ...

  3. java静态方法调用非静态方法

    我们都知道,静态static方法中不能调用非静态non-static方法,准确地说是不能直接调用non-static方法.但是可以通过将一个对象的引用传入static方法中,再去调用该对象的non-s ...

  4. Linux系统信息查看命令(ZZ)

    http://hi.baidu.com/thinkdifferent/blog/item/22f4a80161630e011d958384.html转自一个baidu师兄的博客,很好的一个总结,推荐下 ...

  5. MyBatis中关于大于,小于写法

    第一种写法(1): 原符号 < <= > >= & ' " 替换符号 < <= > >= & &apos; " ...

  6. java异常处理中throws和throw的使用

    异常介绍: 运行时异常.非运行时异常 在编写可能会抛出异常的方法时,它们都必须声明为有异常. 一.throws关键字 1.声明方法可能抛出的异常: 2.写在方法名后面: 3.可声明抛出多个异常,异常名 ...

  7. shell脚本 检查mysql节点数据一致性

    一.简介 源码地址 日期:2018/4/12 介绍:参考pt checksum思想改写,可以定制化的检查随意两个mysql节点的数据一致性. 功能: 检查随意两个几点的数据一致性 支持并发检查,基于库 ...

  8. 超!超!超简单,Linux安装Docker

    1.安装依赖yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-ma ...

  9. linux下记录入站请求

    将内网机器通过frp映射到公网后,内网主机受到大量ssh爆破攻击,攻击来源为frp的服务端,仅在内网机器上无法追踪到真实的攻击来源的ip.下面记录了在frp服务端监控指定端口的入站数据,找到真正的攻击 ...

  10. JAVA实现QQ第三方登录

    首先在QQ互联: https://connect.qq.com/manage.html 申请账号,并且进行资料审核,同时创建应用(设置回调地址) 申请应用完后,会有app_ID.app_KEY等参数 ...