java的可重用组件--JavaBean技术

java语言开发的一个可重用组件,分为可视化组件和非可视化组件。

可视化组件:有用户界面,对界面元素进行封装,按钮、文本框等;

非可视化组件:没有用户界面的javaBean,主要用于业务逻辑的封装,提供可重复利用的软件组件;

JSP与JavaBean进行web项目的开发,有以下两个优点:

1、将HTML和java代码分离,方便维护;

2、利用JavaBean的优点,业务逻辑和数据显示分离,将经常使用的代码抽象成一个JavaBean组件,在JSP页面使用时,调用你组件即可。

接下来主要写关于非可视化组件的内容。

JavaBean的编码规则

从编程语言来讲,JavaBean就是符合一定条件的java类的实例。

1、每个属性均有获取和设置的方法。getxxx(),setxxx()。

2、如果属性为boolean类型,对应获取和设置方法为isxxx(),setxxx()。

3、所有属性都是私有成员变量,所有方法都是公有的方法。

4、如果类中定义了含有参数的构造方法,一定要重写无参构造方法。

在JSP中使用JavaBean

主要通过<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>三个动作元素实现。

<jsp:useBean>动作是装载一个在JSP界面中使用的JavaBean。

<jsp:useBean>

<jsp:useBean id="name" class="package.class" scope="page"/>

id属性:指定JavaBean的实例名;

classs属性:指定JavaBean的包名和类名;

scope属性:指定JavaBean实例的作用域,默认为page,有四个值--page、request、session、application;

<jsp:setProperty>

如果在JavaBean中提供了对属性赋值的setxxx()方法,在JSP页面中就可以通过<jsp:setProperty>对已实例化对象的属性赋值。

分为<jsp:useBean>动作内赋值和<jsp:useBean>动作外赋值。

放在<jsp:useBean>动作外的<jsp:setProperty>,无论现有的Bean还是新创建的Bean实例,都会执行。

放在<jsp:useBean>动作内的<jsp:setProperty>,只在新建的Bean实例时才会执行。

<jsp:setProperty name="myName" property="someProperty" value="someValue".../>

name属性:JavaBean实例名。

property属性:参数名。

value属性:设置参数的值。

<jsp:getProperty>

如果在JavaBean中提供了获取属性的getxxx()方法,在JSP页面中就可以通过<jsp:getProperty>获取JavaBean属性的值并转换成字符串,在JSP页面中输出。

<jsp:getProperty name="myName" property="someProperty".../>

name属性:JavaBean实例名。

property属性:参数名。

JavaBean的范围

page范围

使用page范围的JavaBean,只能在创建在它们的页面中才能被访问。当请求响应返回客户端或指向另一资源时,释放该page范围对象的引用。page范围的对象存储在pageContext中。page范围的JavaBean通常用于单一实例的计算或事务。

request范围

request范围的JavaBean在客户端的一次请求中有效。在HTTP中客户端向服务器发送一个请求到服务器返回一个响应,这既是一个request请求过程。在请求过程中,处理的页面并不一定只有一个。

session范围

session范围的JavaBean在客户端与服务器建立连接开始到连接中断的过程中有效,但是当关闭浏览器或超过设置的有效时间时,session范围的JavaBean实例失效。

application范围

application范围的JavaBean一旦建立,除非将其撤销或服务器重新启动,否则JavaBean的实例将一直保存在服务器的内存中。不同的浏览器,不同的客户端,在不同的时间访问这个JavaBean实例都将共享其信息。

猜你喜欢

转载自blog.csdn.net/qq_40722284/article/details/80791041