引言:

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. NoSQL架构实践(一)——以NoSQL为辅

    前面<为什么要使用NoSQL>和<关系数据库还是NoSQL数据库>两篇从大体上介绍了为什么要用NoSQL,何时该用NoSQL.经常有朋友遇到困惑,看到NoSQL的介绍,觉得很好 ...

  2. The Network Adapter could not establish the connection解决办法

    用 oracle net manager 将监听改为IP地址,将服务命名也改为IP地址,然后数据库连接改为IP地址方式不要用localhost

  3. [转]Linux文件和目录操作命令

    转自:http://www.linuxdiyf.com/bbs/thread-416176-1-1.html 一.文件操作命令1.1 查看文件 Linux下查看文件的命令有很多,下面列出的几个是几乎所 ...

  4. Oracle Database 11g Express Edition 使用小结(windows)

    如何启动oraclewindows系统服务中有一个服务叫:[OracleService[SID]]SID是你安装oracle xe时候的实例名,如果你没有改默认的是[XE], OracleServic ...

  5. PHP.ini 配置文件解析

    [PHP] ;;;;;;;;;;;;;;;;;;;; About php.ini   ;;;;;;;;;;;;;;;;;;;;; PHP's initialization file, generall ...

  6. leetcode:Integer to Roman(整数转化为罗马数字)

    Question: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the rang ...

  7. storm流式大数据处理流行吗

    在如今这个信息高速增长的今天,信息实时计算处理能力已经是一项专业技能了,正是因为有了这些需求的存在才使得分布式,同时具备高容错的实时计算系统Storm才变得如此受欢迎,为什么这么说呢?下面看看新霸哥的 ...

  8. Java Core 学习笔记——3.char/Unicode/代码点/代码单元

    通用字符集(UCS) UCS是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所制定的标准字符集. UCS包括了其他所有的字符集(包含了已知语言的所以字符). ISO/IEC 1 ...

  9. vim 7.4 编译安装

    (1): 在安装新版本的Vim之前,你需要卸载原来安装的老版本Vim,依次在终端下执行下列命令: sudo apt-get remove vim sudo apt-get remove vim-run ...

  10. Windows Azure 配置多个站点的虚拟网络连接

    通过上一篇"Windows Azure 虚拟网络配置(Site to Site)" 我们建立了可以进行Site to Site连接的虚拟网络,配置过后有些朋友会有疑问:如果需要连接 ...