关于javabean
【javabean定义】
定义:JavaBeans是Java语言中可以重复使用的软件组件,实质上是一种特殊的Java类。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
优点:
Bean可以控制它的属性、事件和方法是否暴露给其他程序。
Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
有软件可用来配置Bean。
Bean的属性可以被序列化,以供日后重用。
规范:要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。有了这些规范,才能有可以使用、复用、替代和连接JavaBeans的工具。
有一个公有的无参构造器。(java核心技术上面说:大多数开发工具要求每一个bean都具备一个默认的构造器,这样他们才能在没有构造参数的情况下初始化bean)
属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
可序列化。
【两段代码】
Javabean有两种使用方式:(当作普通的类来使用或者在 jsp 中页面处理时有特殊的标记符处理方式)
嵌入 java 代码方式
使用 jsp 标记符方式
1. 嵌入 java 代码方式(java核心技术上面说:最简单的bean与一个java类没什么任何区别,只不过其方法采用了某种严格的命名惯例罢了)
下面就是这样一个简单的使用:
BeanTest.java
public class BeanTest {
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private int id;
private String name;
private String password;
}
Maintest.java
public class Maintest {
public static void main(String[] args){
BeanTest beantest1=new BeanTest();
beantest1.setId(1234567);
beantest1.setName("帅哥");
beantest1.setPassword("123456");
System.out.println(beantest1.getId());
System.out.println(beantest1.getName());
System.out.println(beantest1.getPassword());
}
}
运行结果:
1234567
帅哥
123456
2. 使用 jsp 标记符方式
基础知识
1)在jsp中构建一个新bean——jsp:useBean
<jsp:useBean id="beanName" class="package.Class" />
例如:
<jsp:useBean id="book1" class="coreservlets.Book" />
等价于下列jsp语句(在jsp文件中,使用<% %>里面包含的就是java语句)
<% coreservlets.Book book1 = new coreservlets.Book(); %>
2)读取或者输出bean属性的值——jsp:getProperty
<jsp:getProperty name="beanName" property="propertyName" />
例如:
<jsp:getProperty name="book1" property="title" />
等价于---
<%= book1.getTitle() %>
3)修改bean的属性——jsp:setProperty
<jsp:setProperty name="beanName" property="propertyName" value="propertyValue" />
例如:
<jsp:setProperty name="book1" property="title" value="Core Servlets and JavaServer Pages" />
等价于----
<% book1.setTitle("Core Servlets and JavaServer Pages"); %>
代码:
1)JavaBeanTest .java
这段代码就是一个简单的网页,显示怎么在jsp网页上面使用javabean。在eclipse中创建一个Dynamic Web Project.当然你要使用服务器。
package com;
public class JavaBeanTest {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
private String name;
private String age;
private String address;
}
2)JavaBean.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>javabeantest</title>
</head>
<body>
<jsp:useBean id="javabeanTest" class="com.JavaBeanTest"></jsp:useBean>
<jsp:setProperty property="name" name="javabeanTest" value="TT"/>
<jsp:setProperty property="age" name="javabeanTest" value="20"/>
<jsp:setProperty property="address" name="javabeanTest" value="beijing"/>
<jsp:getProperty property="name" name="javabeanTest"/><br>
<jsp:getProperty property="age" name="javabeanTest"/><br>
<jsp:getProperty property="address" name="javabeanTest"/><br>
</body>
</html>
运行结果:
其实在jsp中使用还有一些更为复杂的东西,但是这里是入门技术,就以上。
【javabean持久化】
JavaBean的持久化可以考虑三种方式:数据库、XML文件、二进制流
第一种方式可以使用O/R Mapping技术将一个JavaBean映射到关系数据库中的表;
第二种方式可以使用JAVA1.4 的java.beans.XMLDecoder/java.beans.XMLEncoder将Bean映射到一个XML文件中;
第三种方式要求Bean实现Java的Serializable接口;
关于javabean的更多相关文章
- java web学习总结(二十九) -------------------JavaBean的两种开发模式
SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...
- java web学习总结(二十八) -------------------JSP中的JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- JavaBean的用法
JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...
- JSP复习整理(五)JavaBean使用表单处理数据
一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...
- JSP复习整理(五)JavaBean生命周期
一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...
- json、javaBean、xml互转的几种工具介绍
json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...
- javabean和jsp动作元素
model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...
- J2EE基础之JavaBean
J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...
- 编写、部署、应用JavaBean
编写javabean 编写javabean实质上就是编写一个java类.设计javabean类就是要设计这个javabean的属性和方法,类的方法的命名遵循以下规则: 1)如果成员变量的名字是xx ...
随机推荐
- python中字符串方法总结
定义一个空字符串: a=' '; s.strip() #去空格 s.upper()#全部转换成大写: s.lower()# 全部转换成小写: s.isdigit()#判断字符串是否只有数字组成:返回t ...
- Python随笔--函数(参数)
函数文档: 关键字参数: 默认参数:定义了默认值的参数 收集参数(可变参数):
- mysql 判断某字段是否包含中文
SELECT col FROM table WHERE LENGTH(col) != CHAR_LENGTH(col) LENGTH() 函数:返回字符串的长度,已字节符为单位 CHAR_LENGTH ...
- 一款非常不错的重写listctrl类-CListCtrlEx
原文在:https://www.codeproject.com/Articles/28063/An-Extended-MFC-CListCtrl-to-edit-individual-cells li ...
- cut语法2
linux每日一命令--cut--按文件大小排序 显示前100行 显示后五列 ll -Sh|head -n 100|cut -d ' ' -f 5- 一.基本语法cut是一个选取命令,以行为单位,用指 ...
- 自动化测试-2.seleniumIDE
一.安装步骤 1. 打开Firefox浏览器 2. 打开https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/versions/,点击 ...
- 由一次报错引发的对于Spring创建对象的理解
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ent ...
- C# 网络通信功能 同步数据交互开发
前言 本文将使用一个Nuget公开的组件技术来实现一对多的数据通信功能,提供了一些简单的API,来方便的向服务器进行数据请求. 在visual studio 中的Nuget管理器中可以下载安装,也可以 ...
- Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置
Tomcat7.0/8.0 详细安装配置图解,以及UTF-8编码配置 2017年01月24日 10:01:48 阅读数:51265 标签: tomcattomcat安装tomcat配置tomcat编码 ...
- Xamarin Android 下拉列表
<Spinner android:id="@+id/spinner" android:layout_width="wrap_content" androi ...