一、简介

JavaBean组件是一些可移植、可重用并可组装到应用程序中的Java类,类必须是具体的和公共的。

符合下列设计规则的任何Java类均是以JavaBean:

1.对数据类型“protype”的每个可读属性,Bean下必须有下面签名的一个方法:public proptype getProperty(){}

2.对数据类型“protype”的每个可写属性,Bean下必须有下面签名的一个方法:public void setProperty(proptype x){}

3.定义一个不带任何参数的构造函数。

二、JavaBean与JSP的结合

JSP在动态Web应用开发中得到了越来越多的应用,JSP提供的9个内置对象极大的方便了JSP页面的控制与开发,但由于应用程序功能要求越来越强,JSP页面变得越来越臃肿且难以控制。也正因如此JSP与JavaBean相结合逐渐成为最常见的Web应用程序开发方式。

(一)、JSP中JavaBean相关标记

JSP页面中与JavaBean有关的标记有<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>三个。

(1)、<jsp:useBean>

该标记声明一JavaBean实例,该实例具有一定生存范围及一个唯一id,JSP页面通过这个唯一的id来识别JavaBean并通过id.method类似语句操作JavaBean。

eg:声明类Student,id为s1。

 <jsp:useBean id="s1" class="Student" scope="application"></jsp:useBean>

scope属性值指明JavaBean的作用域,其默认值为page。

(2)、<jsp:setProperty>

该标记用于设定一个已经被创建的JavaBean组件的属性值。

eg:设定Student组件s1的classno属性

 <jsp:setProperty name="s1" property="classno" value="56789"></jsp:setProperty>

name属性值对应JavaBean组件的id值;property属性指定想设定属性值的属性名;value属性指定属性值,该值可为字符串也可为表达式。

(3)、<jsp:getProperty>

该标记用于返回一个已经被创建的JavaBean组件的属性值。

eg:获取Student组件s1的name属性的属性值

 <jsp:getProperty name="s1" property="name"></jsp:getProperty>
等价于:
<%=s1.name %>

(二)、JavaBean的Scope属性说明

每个JavaBean均有一个生存范围,而每个JavaBean只能在它定义的范围中才可使用,在其定义的范围外将无法访问。

<jap:useBean>利用Scope属性来声明JavaBean的生存范围。

JSP为JavaBean设定的范围可以是:page、request、session及application。

(1)、page

page是JavaBean默认生存范围。

Scope值为page的JavaBean能在包含"<jsp:useBean>"元素的JSP文件及此文件中的所有静态包含文件中使用,直至页面执行完毕向客户端发回响应或转到另一文件为止。

(2)、request

Scope值为request的JavaBean作用于任何相同请求的JSP文件中,直至页面执行完毕向客户端发回响应或在此之前已经通过某种方式(重定向、链接等)转到另一文件为止。

还可通过使用request对象访问JavaBean。

(3)、session

Scope值为session的JavaBean,从创建JavaBean开始,就能在任何使用相同session的JSP文件中使用这个Bean,该Bean存在于整个session生存期内,任何分享此session的JSP文件都能使用同一Bean。

在session的生存周期内,对该Bean的任何改动均会影响到在此session内的任意page、request对该Bean的调用。当然前提是必须在创建此Bean的文件里事先用page指令指定了session=true。

(4)、application

Scope值为application的JavaBean,作用于整个application的生存周期内,从创建Bean开始就能在任何使用相同application的JSP文件中使用Bean。在该Bean存在于整个application生存周期内,任何分享此application的JSP文件均能使用同一Bean。在application生存周期内,对此Bean属性的任何改动均会影响到此application内另一page、另一request及另一session里对该JavaBean的调用。

Java EE JavaBean组件的更多相关文章

  1. Java EE.JavaBean

    JavaBean是一组可移植.可重用.并可以组装到应用程序中的Java类.一个Model类(属性+构造函数).

  2. 什么是Java EE

    Java:是一门编程语言,可以用来编写各种应用程序. Java EE:是一个标准中间件体系结构,旨在简化和规范分布式多层企业应用系统的开发和部署. Java EE是一个标准中间件体系结构 Java E ...

  3. Java EE—最轻量级的企业框架?

    确保高效发展进程的建议 很久以前,J2EE,特别是应用程序服务器被认为过于臃肿和"重量级".对于开发人员来说,使用此技术开发应用程序会非常繁琐且令人沮丧.但是,由于 J2EE 框架 ...

  4. 在 Java EE 组件中使用 Camel Routes

    摘要:你可以通过集成 Camel 和 WildFly 应用服务器(使用 WildFly-Camel 子系统)在 Java EE 组件中开始使用 Apache Camel Routes. [编者按]作者 ...

  5. Java Web开发技术教程入门-JavaBean组件与Servlet

    补更:阅战阅勇第7/8/9Days笔记 昨天我们了解了JDBC技术的一些日常操作,对于数据库而言,不仅仅的只有"增,删,改,查".博主觉得最重要的是SQL语句的优化,一个" ...

  6. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)

    轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)(国家级奖项获奖作品升级版,四版累计印刷27次发行量超10万册的轻量级Jav ...

  7. Java 新特性(5) - Java EE 5 新特性

    Java EE 5 由 Java Community Process 通过 Java Specification Request 244 发布,这个 “总纲” JSR 指出了详细描述 Java EE ...

  8. Java EE发展史

    前言 最近的这段时间一直在学习Java EE,刚刚完成了从0到1的蜕变,所以顺便整理一下我所了解到的Java EE,给刚入门学习的新人一些头绪,而所谓“启示录”,就是这个意思. 一.Java EE是什 ...

  9. java EE 新手入门了解

    郑重申明:本文转载至https://blog.csdn.net/Neuf_Soleil/article/details/80962686,在此深表感谢! 为什么选择java? 想必有很多初学者会像我一 ...

随机推荐

  1. HDU 1686 Oulipo (可重叠匹配 KMP)

    Oulipo Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. sqoop数据迁移

    3.1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIVE.HBASE等数据存储 ...

  3. 大话Linux内核中锁机制之原子操作、自旋锁

    转至:http://blog.sina.com.cn/s/blog_6d7fa49b01014q7p.html 很多人会问这样的问题,Linux内核中提供了各式各样的同步锁机制到底有何作用?追根到底其 ...

  4. C# WebClient Get获取网页内容

    //不知道怎么删除,只好留着 1. Get方式: WebClient web = new WebClient(); var html = web.DownloadString(url); 2. Pos ...

  5. 请给出如下格式的date命令 例:11-02-26.再给出实现按周输出 比如:周六输出为6,请分别给出命令。

    请给出如下格式的date命令 例:19-01-18.再给出实现按周输出 比如:周六输出为6,请分别给出命令. 解答: 方法1: [root@zhaokang ~]# date2019年 01月 17日 ...

  6. Windows 安装Redis程序

    一.系统环境 1.硬件系统:Windows7 64位 2.软件环境: Redis 64位 3.2.100.Redis Desktop Manager. 二.Redis安装 下载地址:https://g ...

  7. Redis推荐阅读笔记整理

    Herrt灬凌夜    https://www.cnblogs.com/wuyx/archive/2018/03.html 6. Redis_常用5大数据类型简介 5. redis_安装 4. Red ...

  8. MongoDB4.0在windows10下的安装与服务配置

    本地安装及网页测试 在官网下载最新的安装文件 下载地址 : https://www.mongodb.com/download-center#community 可以在MongoDB官网选择Commun ...

  9. laravel5.5源码笔记(三、门面类facade)

    上次说了provider,那么这次来说说facade 首先是启动的源头,从laravel的kernel类中的$bootstrappers 数组,我们可以看到它的一些系统引导方法,其中的Register ...

  10. TP框架图片压缩/上传

    <-- 在前端的代码 --><form action="{:url('index/user/personal')}" method="post" ...