引言:

JavaBeans与一般Java类的编写类似.
在JSP页面中要使用JavaBeans,只要在JSP页面中使用JavaBeans的操作标记就可以了。
JavaBeans的编写和使用非常简单,下面举例说明。
   本讲内容:
1.JavaBeans的编写规范
2.在JSP中使用JavaBeans的操作标记
一、JavaBeans的编写规范

1.  JavaBeans的编写要求

JavaBeans也是一个Java类,但在定义JavaBeans时一般要遵守下面的要求:
  • nJavaBeans必须是一个公共类(public),即在类定义的前面一定要加访问修饰符public;
  • nJavaBeans必须有一个公共的(public)、不带参数的构造函数。因为构造函数可以重载,所以也可以有其他带参数的构造函数;
  • nJavaBeans一般都属性,这些属性是以类中数据成员的方式定义的,这些属性都是私有的(private),仅能通过一组共有的成员方法对其进行操作。
  • 设置属性的方法名要用setXXX();取得属性的方法名要用getXXX()。

2.  一个简单的JavaBeans实例

下面是一个简单的JavaBeans,该JavaBeans只定义了一个字符串属性。
实例10-1:一个简单的JavaBeans程序(HelloBean.java)

01: package myBean;

02: import java.io.*;

03: public class  HelloBean

04: {

05:   //定义属性

06:   private String name="Hello Bean";

07:   //定义无参的构造函数

08:   public HelloBean(){}

09:   //定义获取属性的getXXX方法

10:   public String getName()

11:   {

12:   return name;

13:   }

14:   //定义设置属性的setXXX方法

15:   public void setName(String  str)

16:   {

17:   name=str;

18:   }

19:         public static void main(String[] args)

20:   {

21:   System.out.println("Example JavaBeans");

22:   }

23: }

  • 该实例已经在代码的注释中进行了说明。
  • 由于该实例有main()主函数(一般JavaBeans不需要定义main()函数,因它是提供服务的程序,由其它的程序来调用它),所以在编译后,可以在DOS环境下执行,执行结果为Example JavaBeans。

3.  在JSP中使用JavaBeans

  • 在JSP中使用JavaBeans,首先要在Tomcat Web服务器中部署已经编译好的JavaBeans。
  • 在TOMCAT_HOME\webapps\jsp\WEB-INF\classes目录下创建myBean文件夹(这是为了与实例10-1第01行所定义的包名myBean相对应),然后将编译好的字节代码文件复制到该目录中。
下面是一个使用实例10-1 JavaBeans的实例。
实例10-2:使用JavaBeans的实例程序(useHelloBean.jsp)

01: <%@page contentType="text/html;charset=GBK"%>

02: <HTML>

03: <HEAD><TITLE>使用JavaBeans</TITLE>

04: </HEAD>

05: <BODY>

06: <H2>该实例说明了在一个JSP中如何使用JavaBeans的属性</H2>

07: <HR>

08:<jsp:useBean id="myBean" class="myBean.HelloBean" scope="application"/>

09: 调用setProperty前name属性的值是:

10: <jsp:getProperty name="myBean" property="name" />

11: <P>

12: <jsp:setProperty name="myBean" property="name" value="Hello World"/>

13: 调用setProperty后name属性的值是:

14: <jsp:getProperty name="myBean" property="name" />

15: </BODY>

16: </HTML>

  • 将实例10-2复制到TOMCAT_HOME\webapps\jsp目录下,然后在地址栏输入http://localhost:8080/jsp/useHelloBean.jsp,则浏览器窗口显示如图10-1所示的内容。
  • 实例10-2的08行<jsp:useBean…>是说明在该程序要使用一个类名为myBean.HelloBean的JavaBeans,第10行是取得属性名为name的值,第12行是将属性name的值设置为“Hello World”,第14行取得重新设置后属性name的值。

 
 
二、在JSP中使用JavaBeans的操作标记
  • 在前面介绍过,JSP操作是为了使客户机或服务器实现某种操作而下达的指令。
  • JSP有七个操作标记,即jsp:include、jsp:useBean、jsp:setProperty、jsp:getProperty、jsp:forward、jsp:param和jsp:plugin。其中的jsp:include、jsp:forward、jsp:param和jsp:plugin已经介绍过,下面介绍jsp:useBean、jsp:setProperty和jsp:getProperty三个操作的功能和使用方法。

1.  jsp:useBean操作

该操作表示在JSP页面中要使用JavaBeans,它的常用语法格式如下:

<jsp:useBean id=“beanName”

scope="page|request|session|application“

class="package.class"

/>

其中,id为JavaBeans在该JSP页面中的名称,即JSP页面的设计者所起的在JSP页面中标识该JavaBeans的名称,它的意思就是将一个JavaBeans对象与一个id定义的变量相关联。
 
scope定义该JavaBeans对象的有效使用范围,它可以取以下4个值中的任一个:
  • page:表示这个JavaBeans在该JSP页面文件及此文件中的所有静态包含文件中有效(<%@ include file=…>)。
  • request:表示这个JavaBeans在该页面发出的请求中有效。
  • session:表示这个JavaBeans将作为一个对象绑定于session会话中,即在客户机与服务器的一个会话期内有效。
  • application:表示这个JavaBeans将做为一个对象绑定于application中,在本应用中有效。
                scope缺省的值page,表明此JavaBeans只能应用于当前页。
                通过定义scope属性,可以使此JavaBeans不只在当前页面有效。
                class说明存储JavaBeans的字节代码文件名(.class)。
注意:如果在JavaBeans中定义了包(package),则这里要指出整个包名。实例10-2的08行就是使用jsp:useBean操作创建了一个myBean.HelloBean类的实例,该实例在JSP页面中的名称为“myBean”。

2.  jsp:setproperty操作

n当在JSP中创建了JavaBeans对象之后,就可以通过jsp:setproperty操作标记设置JavaBeans的属性值。
n其常用语法如下:

<jsp:setProperty name="beanName "

property="propertyName"

value="propertyValue“

/>

其中,name表示jsp:useBean操作中定义的id名称,property表示JavaBeans中定义的某个属性,该属性要设置一个值,value表示为该属性将要设置的新值。
在上面的格式中,jsp:setproperty操作标记用在jsp:useBean操作之后,这种情况下,此jsp:setProperty操作不管是新的JavaBeans实例还是原有的JavaBeans对象,都会执行。jsp:useBean操作还可以用在jsp:useBean实体之内,表示如下:

<jsp:useBean id="beanName " ... >

..

<jsp:setProperty name=" beanName " property=" propertyName"  value="propertyValue" />

</jsp:useBean>

这种情况下,此操作只在一个新的JavaBeans对象产生时才执行。
注意:jsp:setProperty操作必须使用在jsp:useBean操作之后。

3.  jsp:getProperty操作

jsp:getProperty操作取得JavaBeans属性的值,并将其转换成字符串值,最后插入到输出结果中。
如实例10-2中第10行和14行。它的常用语法格式如下:

<jsp:getProperty name="beanName "  property="propertyName" />

其中,name表示通过jsp:useBean得到的此JavaBeans在JSP页面中的名字,property表示要取出其值并插入JSP页面中的属性名。
出处:http://wenku.baidu.com/view/be43723e25c52cc58bd6be93.html

================================================================

以下代码是我根据上面的说明,写的简单的测试:

方式一:

package Java.Bean;

import java.util.Date;
import java.text.*;
public class Test1 {
public Test1(){}
public String say()
{
String time=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
return " Welcome! Now :"+time;
}
}
--------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="Java.Bean.*"%>
<html>
<body>
<h1>Hi <%= new Java.Bean.Test1().say()%></h1>
</body>
</html>

方式二:

package mybean;

public class Test1 {
public Test1(){}
public String say()
{
return " Welcome Java Bean.";
}
}
--------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="my" scope="request" class="mybean.Test1"></jsp:useBean>
<html>
<body>
<h1>Hi <%=my.say()%></h1>
</body>
</html>

JavaBean技术的更多相关文章

  1. 2017.10.26 JavaWeb----第五章 JavaBean技术

    JavaWeb----第五章 JavaBean技术 (1)JavaBean技术 JavaBean技术是javaweb程序的重要组成部分,是一个可重复使用的软件组件,是用Java语言编写的.遵循一定的标 ...

  2. JavaBean技术的一些讲解

    JavaBean: 由于原先的jsp的html代码和css代码以及java代码都是写在一起的,所以看起来就比较冗余,同时 也体现不了javaBean中面向对象的思想的{当然可以同过jstl标签库以及m ...

  3. JSP Web第六章整理复习 JavaBean技术

    P183 什么是JavaBean,JavaBean有哪些特点? javabean是一种特殊的java类 特点:属性private,方法public P184 JavaBean封装数据,例6-1,6-2 ...

  4. web初学之JavaBean

    JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...

  5. servlet与Javabean之间的区别

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean/>调用JavaBe ...

  6. JSP技术介绍

    1. 技术介绍 JSP即Java Server Page,中文全称是Java服务器语言.它是由Sun Microsystems公司倡导.许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强 ...

  7. Struts与jsp+javabean+servlet区别

    采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...

  8. 基于JDBC的数据库连接池技术研究与应用

    引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开 ...

  9. 2017.11.12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

随机推荐

  1. Android布局文件夹引起的问题

    Android 运行到setContentView(R.layout.splash); 总是出现如下的错误: java.lang.RuntimeException: Unable to start a ...

  2. ASIFormDataRequest 登录

    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL: [NSURL URLWithString: @"http: ...

  3. ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....

    jdk已经安装过但是启动eclipse时提示“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail  ...

  4. Bootstrap学习之路(2)---导航组件

    在bootstrap中,导航条的样式都依赖于.nav类,而样式又分为多种,如: 标签页的样式为:.nav-tabs <ul class="nav nav-tabs"> ...

  5. Linux基本命令 目录

    Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...

  6. Linux基本命令(8)网络操作的命令

    网络操作命令 命令 功能 命令 功能 ftp 传送文件 telnet 远端登陆 bye 结束连线并结束程序 rlogin 远端登入 ping 检测主机 netstat 显示网络状态 8.1 ftp命令 ...

  7. jQuery文本框(input textare)事件绑定方法教程

    jquery 的事件绑定已经用on替换了原来的bind,接下来为大家分享下bind的使用方法及input textare事件.目前1.7以上,jquery?的事件绑定已经用on替换了原来的bind,接 ...

  8. python中的深拷贝与浅拷贝

    深拷贝和浅拷贝 浅拷贝的时候,修改原来的对象,浅拷贝的对象不会发生改变. 1.对象的赋值 对象的赋值实际上是对象之间的引用:当创建一个对象,然后将这个对象赋值给另外一个变量的时候,python并没有拷 ...

  9. motan源码解读:注册中心zookeeper(2)

    上文大概讲解了利用zookeeper如何实现注册中心的.本文主要是从源码角度说明下.代码都在模块motan-registry-zookeeper中,其实在在这个模块中就3个类. ZkNodeType: ...

  10. PHPCMS数据筛选功能实现

    第一步:添加模型字段,这个模型可以是官方的,也可以是你自定义的模型,以单选字段形式添加就好了; 第二步:就是添加栏目和内容: 第三步:模板如下,照着改就好了. {template "cont ...