JavaBean技术
引言:
1. JavaBeans的编写要求
- nJavaBeans必须是一个公共类(public),即在类定义的前面一定要加访问修饰符public;
- nJavaBeans必须有一个公共的(public)、不带参数的构造函数。因为构造函数可以重载,所以也可以有其他带参数的构造函数;
- nJavaBeans一般都属性,这些属性是以类中数据成员的方式定义的,这些属性都是私有的(private),仅能通过一组共有的成员方法对其进行操作。
- 设置属性的方法名要用setXXX();取得属性的方法名要用getXXX()。
2. 一个简单的JavaBeans实例
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相对应),然后将编译好的字节代码文件复制到该目录中。
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操作是为了使客户机或服务器实现某种操作而下达的指令。
- 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:useBean id=“beanName”
scope="page|request|session|application“
class="package.class"
/>
- page:表示这个JavaBeans在该JSP页面文件及此文件中的所有静态包含文件中有效(<%@ include file=…>)。
- request:表示这个JavaBeans在该页面发出的请求中有效。
- session:表示这个JavaBeans将作为一个对象绑定于session会话中,即在客户机与服务器的一个会话期内有效。
- application:表示这个JavaBeans将做为一个对象绑定于application中,在本应用中有效。
2. jsp:setproperty操作
<jsp:setProperty name="beanName "
property="propertyName"
value="propertyValue“
/>
<jsp:useBean id="beanName " ... >
..
<jsp:setProperty name=" beanName " property=" propertyName" value="propertyValue" />
</jsp:useBean>
3. jsp:getProperty操作
<jsp:getProperty name="beanName " property="propertyName" />
================================================================
以下代码是我根据上面的说明,写的简单的测试:
方式一:
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技术的更多相关文章
- 2017.10.26 JavaWeb----第五章 JavaBean技术
JavaWeb----第五章 JavaBean技术 (1)JavaBean技术 JavaBean技术是javaweb程序的重要组成部分,是一个可重复使用的软件组件,是用Java语言编写的.遵循一定的标 ...
- JavaBean技术的一些讲解
JavaBean: 由于原先的jsp的html代码和css代码以及java代码都是写在一起的,所以看起来就比较冗余,同时 也体现不了javaBean中面向对象的思想的{当然可以同过jstl标签库以及m ...
- JSP Web第六章整理复习 JavaBean技术
P183 什么是JavaBean,JavaBean有哪些特点? javabean是一种特殊的java类 特点:属性private,方法public P184 JavaBean封装数据,例6-1,6-2 ...
- web初学之JavaBean
JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...
- servlet与Javabean之间的区别
在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean/>调用JavaBe ...
- JSP技术介绍
1. 技术介绍 JSP即Java Server Page,中文全称是Java服务器语言.它是由Sun Microsystems公司倡导.许多公司参与建立的一种动态网页技术标准,它在动态网页的建设中有强 ...
- Struts与jsp+javabean+servlet区别
采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...
- 基于JDBC的数据库连接池技术研究与应用
引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开 ...
- 2017.11.12 web中JDBC 方式访问数据库的技术
JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...
随机推荐
- Android布局文件夹引起的问题
Android 运行到setContentView(R.layout.splash); 总是出现如下的错误: java.lang.RuntimeException: Unable to start a ...
- ASIFormDataRequest 登录
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL: [NSURL URLWithString: @"http: ...
- 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 ...
- Bootstrap学习之路(2)---导航组件
在bootstrap中,导航条的样式都依赖于.nav类,而样式又分为多种,如: 标签页的样式为:.nav-tabs <ul class="nav nav-tabs"> ...
- Linux基本命令 目录
Linux基本命令 目录 Linux基本命令(1)管理文件和目录的命令 Linux基本命令(2)有关磁盘控件的命令 Linux基本命令(3)文件备份和压缩的命令 Linux基本命令(4)有关关机和查看 ...
- Linux基本命令(8)网络操作的命令
网络操作命令 命令 功能 命令 功能 ftp 传送文件 telnet 远端登陆 bye 结束连线并结束程序 rlogin 远端登入 ping 检测主机 netstat 显示网络状态 8.1 ftp命令 ...
- jQuery文本框(input textare)事件绑定方法教程
jquery 的事件绑定已经用on替换了原来的bind,接下来为大家分享下bind的使用方法及input textare事件.目前1.7以上,jquery?的事件绑定已经用on替换了原来的bind,接 ...
- python中的深拷贝与浅拷贝
深拷贝和浅拷贝 浅拷贝的时候,修改原来的对象,浅拷贝的对象不会发生改变. 1.对象的赋值 对象的赋值实际上是对象之间的引用:当创建一个对象,然后将这个对象赋值给另外一个变量的时候,python并没有拷 ...
- motan源码解读:注册中心zookeeper(2)
上文大概讲解了利用zookeeper如何实现注册中心的.本文主要是从源码角度说明下.代码都在模块motan-registry-zookeeper中,其实在在这个模块中就3个类. ZkNodeType: ...
- PHPCMS数据筛选功能实现
第一步:添加模型字段,这个模型可以是官方的,也可以是你自定义的模型,以单选字段形式添加就好了; 第二步:就是添加栏目和内容: 第三步:模板如下,照着改就好了. {template "cont ...