JavaBean 基础概念


JavaBean的概念

  JavaBean是一种可重复使用的、且跨平台的软件组件。

  JavaBean可分为两种:一种是有用户界面的(有UI的);另一种是没有用户界面的(无UI的),无UI的JavaBean主要负责处理事务(如数据运算,操纵数据库)。

  JSP通常访问的是后一种JavaBean。

 

JSP与JavaBean搭配使用的优点

  使得HTML与Java程序分离,这样便于维护代码。

  如果把所有的程序代码都写到JSP网页中,会使得代码繁杂,难以维护。

  可以降低开发JSP网页人员对Java编程能力的要求。

  JSP侧重于生成动态网页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。

  MVC设计模式(Model View Controller)。

 

JavaBean的特征

  一个标准的JavaBean有以下几个特征:

  JavaBean是一个公共(public)的类。

  JavaBean有一个不带参数的构造方法。

  JavaBean通过setXXX方法设置属性,通过getXXX方法获取属性。

 

JSP访问JavaBean的语法

1.导入JavaBean类。

  通过<%@ page import>指令导入JavaBean类,

  例如:

<%@ page import="mypack.MyJavaBean" %>

 

2.声明JavaBean对象。

  <jsp:useBean>标签用来声明JavaBean对象,

  例如: 

<jsp:useBean id="myBean" class="mypack.MyJavaBean" scope="session"/>

 

3.访问JavaBean属性。

  JSP提供了访问JavaBean属性的标签,如果要将JavaBean的某个属性输出到网页上,可以用<jsp:getProperty>标签。

  例如:

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

 

  如果要给JavaBean的某个属性赋值,可以用<jsp:setProperty>标签,

  例如:

<jsp:setProperty name="myBean" property="count" value="0"/>

  

  使用指定的值来设置Bean的属性,这个值可以使字符串,也可以是表达式。

  如果是字符串,那么它就会被转换成Bean属性的类型。

  如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。

  不能在同一个<jsp:setProperty>中使用valueparam参数。

  其中param是指通过请求参数的值来给属性赋值。

 

一个JavaBean使用的例子

  写一个Person类(JavaBean):

复制代码
package com.shengqishiwind.bean;

public class Person
{
    private String name = "zhangsan";
    private int age = 24;
    private String address = "beijing"; 
    public Person()
    {
        
    }
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public int getAge()
    {
        return age;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    public String getAddress()
    {
        return address;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    
}
复制代码

  然后在JSP中导入这个类,并且声明该类的对象,然后获取其属性或者更改属性:

  导入: 

<%@ page language="java" import="java.util.*,com.shengqishiwind.bean.Person" pageEncoding="UTF-8"%>

  声明:

      <!-- 声明JavaBean对象 -->
    <jsp:useBean id="person" class="com.shengqishiwind.bean.Person" scope="session"/>

  获取对象属性:

    <!-- 获取对象属性 -->
    name: <jsp:getProperty name="person" property="name" /><br>
    age: <jsp:getProperty name="person" property="age" /><br>
    address: <jsp:getProperty name="person" property="address" /><br>

  设置对象属性:

复制代码
    <!-- 设置对象姓名属性 -->
    <jsp:setProperty name="person" property="name" value="lisi"/>
    <!-- 设置对象年龄属性 -->
    <jsp:setProperty name="person" property="age" value="30"/>    <!-- 这里有自动的类型转换:String2int-->
    <jsp:setProperty name="person" property="age" value="<%=20+20 %>"/>    <!-- value值还可以用表达式 -->
    <jsp:setProperty name="person" property="address" param="hello"/>    <!-- 可以通过请求参数的值来赋值,如果不传递这个参数,则该属性仍是原值 -->
    
复制代码

  

  关于声明对象,也可以用脚本段来声明,其作用是一样的:

    <!-- 脚本段声明对象 -->
    <br>another person:
    <% Person person2 = new Person();//这里不能把对象叫做person,提示重复的局部变量,进一步说明这种方法和上面的方法,本质上是一样的
    out.println(person2.getName());
    %>

 

  所以输出属性时也可以直接用表达式:

    
    <!-- 用表达式输出对象属性 -->
    <br>name again: <%= person.getName()%><br>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值