【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的更多相关文章

  1. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  2. java web学习总结(二十八) -------------------JSP中的JavaBean

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  3. JavaBean的用法

    JavaBean是一个可重复使用的软件组件,是用Java语言编写的.遵循一定标准的类. JavaBean是Java Web的重要组件,它封装了数据和操作的功能类,供JSP和Servlet调用,完成数据 ...

  4. JSP复习整理(五)JavaBean使用表单处理数据

    一.先建立用户输入的数据 usingGetparameter.html <!DOCTYPE html> <html> <head> <meta charset ...

  5. JSP复习整理(五)JavaBean生命周期

    一.创建一个JavaBean UserBean.java package jsp.test; public class UserBean { private String userName; priv ...

  6. 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

    1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...

  7. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  8. javabean和jsp动作元素

    model1就是利用了jsp和javabean 的组合来处理问题.jsp页面如果有太多的逻辑代码的话,维护起来和扩展起来是相当的麻烦的.所以jsp的逻辑代码部分都打包到一种java类当中进行编写.这种 ...

  9. J2EE基础之JavaBean

    J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...

  10. 编写、部署、应用JavaBean

    编写javabean   编写javabean实质上就是编写一个java类.设计javabean类就是要设计这个javabean的属性和方法,类的方法的命名遵循以下规则: 1)如果成员变量的名字是xx ...

随机推荐

  1. VirtualBox fedora29 安装

    目录 准备工作 VirtualBox安装 fedora安装 快捷键定义 准备工作 平台配置 win10 64位 内存 8G 硬盘 1T 下载地址 VirtualBox 5.2.22:https://w ...

  2. sql执行计划(书中个人总结)

    一.什么是sql执行计划 执行一条sql,以最快最低消耗获取出所需数据的一个执行过程. 二.如何获取执行计划 执行计划获取的六种方式: 1.explain plan for 优点和缺点: 2.set ...

  3. ssh语法高亮

    借助于ssh,使用vi/vim进行文本编辑的语法高亮显示的方法如下: 第一步:设置vi别名 在Linux中,.bashrc与.bash_profile文件为当前用户登录时所执行的,/etc/bashr ...

  4. 项目中Java Resources有红叉,其它没有,解决办法

    说起这个这个地方,我课改了好久 起初,我把原先项目的JDK版本改了,右击项目Build Path,然后换掉里面的JRE,没用, 然后右击项目,点击properties,找到在Project Facet ...

  5. 编译darknet出现libpng16.so.16:对‘inflateValidate@ZLIB_1.2.9’未定义的引用

    cd /usr/lib/x86_64-linux-gnu sudo ln -s ~/anaconda/lib/libpng16.so.16 libpng16.so.16 sudo ldconfig## ...

  6. 为何放弃Eclipse,选择IntelliJ IDEA,看完终于明白了

    如果你初次用idea,毫无目的的度娘如何使用IDEA     浪费的将会是大量的时间.一套让你花时间,少走弯路的视频教程(下载地址:https://pan.baidu.com/s/1gfeX3hD) ...

  7. TensorFlow占位符操作:tf.placeholder_with_default

    tf.placeholder_with_default 函数 placeholder_with_default( input, shape, name=None ) 请参阅指南:输入和读取器>占 ...

  8. 记解决一次“HTTP Error 400. The request URL is invalid”的错误

    今天将图片服务切到使用了cdn的机器上面去,然后就部分图片报如下图错误“HTTP Error 400. The request URL is invalid” 看到这种错误信息,一般的开发者心中可能会 ...

  9. echarts背景分割区域填充不同颜色(x轴为time),实时刷新

    先来看下图片吧,这是实现效果: 思路: 因为要实时刷新,可以使用setInterval(),但是要控制好定时器的起与停,否则容易错乱以及页面卡死: 主要就是利用定时器五秒刷新,重绘echarts图:= ...

  10. Windows+Linux双系统所导致的时间不一致问题的原因及解决方案

    参考自:https://www.cnblogs.com/x_wukong/p/4401499.html 前几天在自己的windows10另外还装了一个Ubuntu,使用后发现windows时间一直不对 ...