JSP与JavaBeans
 1. 使用 beans
 为了在JSP 页面中使用benas,我们必须使用JSP 动作标签:useBean
  useBean 格式:
  <jsp:useBean id= “给bean 起的名字” class= “创建beans 的类”scope= “bean 有效范围”></jsp:useBean>
 当服务器上某个含有 useBean 动作标签的JSP 页面被加载执行时,JSP 引擎将首先根据id 的名字,在一个同步块中,查找JSP 引擎内置pageContent 对象中是否含有名字id 和作用域scope 的对象,如果这个对象存在,JSP 引擎就分配一个这样的对象给客户,如果在pageContent 中没有查找到指定作用域、名字是id 的对象,就根据class指定的类创建一个名字是id 对象,即创建了一个名字是id 的beans,并添加到pageContent 内置对象中,并指定该beans 的作用域是scope,同时JSP 引擎分配给客户一个作用域是scope、名字是id 的beans。
 useBean 标签中scope 取值的不同情况阐述如下:
 scope 取值page
 JSP 引擎分配给每个客户的beans 是互不相同的,也就是说,尽管每个客户的beans 的功能相同,但它们占有不同的内存空间。该beans的有效范围是当前页面,当客户离开这个页面时,JSP 引擎取消分配给该客户的beans。
 scope 取值session
 JSP 引擎分配给每个客户的beans 是互不相同的,该beans 的有效范围是客户的会话期间,也就是说,如果客户在多个页面中相互连接,每个页面都含有一个useBeans 标签,这些useBean 标签中id 的值相同,并且scope 的值都是session,那么,该客户在这些页面得到的beans 是相同的一个。如果客户在某个页面更改了这个beans 的属性,其它页面的这个beans 的属性也将发生同样的变化。当客户关闭浏览器时,JSP 引擎取消分配给客户的beans。
 scope 取值request
 JSP 引擎分配给每个客户的beans 是互不相同的,该beans 的有效范围是request 期间。客户在网站的访问期间可能请求过多个页面,如果这些页面含有socope 取值是request 的useBeans 标签,那么pageCotent 对象在每个页面分配给客户的beans 也是互不相同的。JSP引擎对请求作出响应之后,取消分配给客户的这个beans。
 scope 取值application
 JSP 引擎为每个客户分配一个共享的beans,也就是说,所有客户共享这个beans,如果一个客户改变这个beans 的某个属性的值,那么所有客户的这个beans 的属性值都发生了变化。这个beans 直到服务器关闭才被取消。
    注:当使用作用域是session 的beans 时,要保证客户端支持Cookie.
 为了使服务器的所有web 服务目录下的JSP 页面文件都能使用我们的beans,我们必须将上面编译通过生成的字节码类文件:Circle.class 拷贝到JSP 引擎的classes 文件夹下, 即D:tomcat\Jakarta-tomcat-4.0\classes 下,另外,在使用 beans 的JSP 页面中,必须有如下的import 指令:<@page import= “Circle”> 如果想让某个 beans 只对examples 目录下的JSP 页面可用,那么创建该beans 的字节码文件需存放在webapps/example/Web-inf/classes目录中,
    2.获取和修改 beans 的属性
 当我们使用useBean 动作标签创建一个beans 后,在java 程序片中这个beans 就可以调用方法产生行为,比如修改属性。获取或修改beans 的属性还可以使用动作标签getProperty、setProperty
 2.1getProperty 动作标签
 使用该标签可以获得beans 的属性值,并将这个值用串的形式显示给客户
 getProperty 动作标签:
 <jsp:getProperty name= “beans 的名字” property= “beans 的属性” /></jsp:getProperty>
 其中,name 取值是beans 的名字,用来指定要获取哪个beans 的属性的值;property 取值是该beans 的一个属性的名字。该指令的作用相当于在程序片中使用beans 调用getXxx()方法。
 2.2 setProperty 动作标签
 使用该标签可以设置beans 的属性值。
 setProperty 动作标签可以通过3 种方式设置beans 属性的值。
 (1)将benas 属性的值设置为一个表达式的值或字符串。
 benas 属性的值设置为一个表达式的值:<jsp:setProperty name=“beans 的名字” property= “beans 的属性” value= “<%=expression%>” />
 benas 属性的值设置为一个字符串:<jsp:setProperty name=“beans 的名字” property= “beans 的属性”  value=字符串 />
 (2)使用setProperty 设置beans 属性值的第2 种方式是:
 通过HTTP 表单的参数的值来设置beans 的相应属性的值,要求表单参数名字必须与beans 属性的名字相同,JSP 引擎会自动将字符串转换为beans 属性的类型。
 <jsp:setProperty name= "beans 的名字" property="*" />
 该标签不用再具体指定 beans 属性的值将对应表单中哪个参数指定的值,系统会自动根据名字进行般配对应。
 (3)使用setProperty 设置beans 属性值的第3 种方式是:
 通过request 的参数的值来设置beans 的相应属性的值,要求request 参数名字必须与beans 属性的名字相同,JSP 引擎会自动将request 获取的
字符串数据类型转换为beans 相应的属性的类型。
 <jsp:setProperty name= "beans 的名字" property=" 属性名" param= “参数名” />
 注:需要注意的是,只有提交了和该beans 相对应的表单后,该指令标签才被执行。
 注:不能在<jsp:setProperty>中同时使用value 和param。

JSP与JavaBeans相关推荐

  1. jsp与java_JSP与JavaBeans

    JavaBeans简介 JavaBeans是一种符合一定标准的普通java类,需要满足下面几点: 1 类是public 2 属性私有 3 空的public构造方法 4 通过getter setter操 ...

  2. JSP复习题【侵权联系我删除】

    [题型]:单选题 1.JSP页面经过编译之后,将创建一个(      )文件. A.applet B.  servlet C.application D.  server 答案: B [题型]:单选题 ...

  3. JavaBeans四个作用域 范围

    application                     application可以作用于整个Web应用 <%@ page language="java" conten ...

  4. 杂项-Java:JSP

    ylbtech-杂项-Java:JSP 1.返回顶部 1. JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Micros ...

  5. 基于Java(JSP)+MySQL实现盐鱼二手物品交易网站【100010280】

    盐鱼二手 1 前言 1.1 课题的来源及意义 随着当前计算机网络技术不断发展,网络校园开始出现,并且得到快速发展,在网络校园中二手市场属于十分重要的组成部分,也是完成二手交易的重要平台.就目前网络校园 ...

  6. 基于JSP的汽车租赁管理系统的设计与实现

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye2 摘 要 随着汽车工业的发展和汽车在现实生活中的普及,汽车租赁成为近年来兴起的一个新行业.为规范 ...

  7. 基于jsp毕业设计题目50例

    基于jsp毕业设计题目1-10题 1.基于JSP构建网上订餐系统的设计与实现 2.基于JSP的试卷分析管理系统 3.基于JSP的销售管理系统的设计 4.基于JSP的高校组织人事管理系统 5.基于JSP ...

  8. 基于jsp(java)超市管理系统的设计和开发(含源文件)

    获取项目源文件,联系Q:1225467431,可指导毕设,课设 摘 要 随着网络技术的发展.计算机应用水平的提高的扩大,原来系统的时效性.数据的正确性.操作的方便性上都存在不足,已影响到系统的正常使用 ...

  9. java毕业设计—— 基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码)——项目管理系统

    基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+javaEE+jsp的项目管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下 ...

最新文章

  1. Count and Say leetcode java
  2. 吴恩达机器学习 -- 正则化
  3. build-blocker-plugin
  4. git 简单操作流程图
  5. 【渝粤教育】广东开放大学 建筑工程施工 形成性考核 (58)
  6. ZZULIOJ 1121: 电梯
  7. 设置XMLHttpRequest“ withCredentials”属性问题,axios请求不成功
  8. jsoup抓取html中的js,使用Jsoup,抓取整个网站(包括图片、js、css)
  9. SaaS架构设计之高性能的Multi-Tenant最佳实践
  10. AtCoder Grand Contest 016
  11. AngularJs(Part 3)--注册服务
  12. SpringBoot启动o.s.b.d.LoggingFailure… 错误解决方法
  13. 计算机共享w7系统文件共享,win7系统怎么共享文件 电脑一键共享文件方法教程...
  14. Java格式化日期[转自http://java.chinaitlab.com/advance/923542.html ]
  15. 01-游戏分类与热点探索
  16. 软件测试面试题银行,资讯详情-金融测试面试题-柠檬班-自动化测试-软件测试培训-自学官网...
  17. 渗透测试培训 末日实验室脚本检测演示教程
  18. 【Mysql数据库 第10章】MySQL的存储函数使用
  19. icloud备份微信聊天记录怎么恢复
  20. EasyExcel生成带下拉列表或二级级联列表的Excel模版+自定义校验导入数据(附仓库)

热门文章

  1. PPPOE服务器如何使客户端拨上号就上网
  2. 【区块链实战】什么是区块链,为什么会产生区块链技术
  3. 9999*9999这样的命令在python中无法运行_智慧树形势与政策2018章节答案
  4. 四步修改Linux ip地址
  5. Ubuntu安装QQ、VM、Chrom软件
  6. 敏捷团队︱数字化领导力之敏捷团队建设
  7. restTemplate实现 authorization basic权限认证(带账号密码)
  8. 怎么查看OutputDebugString输出的信息?debugview
  9. 某计算机主存空间为4MB,一个有32位程序地址空间,页面容量为1KB, 主存的容量为4MB的存储系统,问:(1) 虚页号字段 - 试题答案网问答...
  10. 如何推动区块链与物联网深度融合,赋能数字化转型?