基础19——JavaBean

1.javabean介绍

   javabean是一个可复用,跨平台的软件组件,实际上是使用java语言编写的一个特殊的java类。Javabean分两种,一种用于GUI开发,一种用于web应用开发,他主页负责业务逻辑的处理。

 

2.javabean的特点

  1)javabean必须是public类型的公关类;

  2)在javabean中需要提供一个public类型的无参构造方法;

  3)为javabean的属性提供setter和getter方法,setter方法为属性设置值,getter方法获取属性的值。注意杜宇boolean类型的属性,允许使用“is”代替“get”和"set"。

  4)get和set方法必须是public类型的,而javabean属性必须是private类型的。

  5)在设计javabean时通常将其放在一个命名的包下

注意:javabean除了可以定义get,set方法,还可以定义其他方法。

 

3.javabean的应用范围

 说明:在jsp使用<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>这三个动作标记访问javabean。其中在<jsp:useBean>动作标记的作用是在jsp页面中产生一个javabean的快捷参考。其scope属性有四个取值,分别为page,

request,session,application,表示页面所引用的javabean的应用范围。

 

4.javabean开发注意事项

1)不是试图在javabean属性中设置html或JavaScript脚本,因为不同的浏览器对脚本的兼容性不同,可能会导致浏览器崩溃。与此同时,复杂的html脚本也会闲置javabean的寿命和灵活性。

2)不要提供任何的分支选择,如果用户使用不同的系统浏览页面,可以提供一种可以替换的方法。

 

5.访问javabean

前述:在jsp页面中通过使用于javabean有关的动作标记访问javabean,访问javabean的动作标记主要有以下三种。

①<jsp:useBean>:在jsp页面中声明并创建javabean对象实例。

其语法格式为:

<jsp:useBean id="对象名" class="完整包路径" scope="作用范围"/>

id:代表引用javabean对象的id,即在该jsp页面中相当于一个局部变量,使用此ID表示引用的javabean对象。需要注意的是,在同一个会话范围内不允许有两个相同ID的javabean对象。

class:代表引用javabean的具体类名。

scope:指定引用的javabean的作用范围,可以是page,request,session或application。默认page。

 

②<jsp:setProperty>:为javabean对象的特定属性设置值。

其语法格式为:

<jsp:setProperty property="width" name="rectangle" value="20"/>

property:对应javabean类的同名成员变量,例如property属性的值为width,对应于Rectangle类中的成员变量width。property属性的值也可以为“ * ”,表示自动匹配表单中的属性名。所以其表单的name必定要和javabean的属性命名一样。

name:name属性值对应于<jsp:useBean>动作标记的ID属性值。

value:可选属性,为property属性设定值。

 

③<jsp:getProperty>:获取javabean对象的属性值,并且显示在页面上。

 其语法格式为:

<jsp:getProperty property="length" name="rectangle"/>

property:其值为bean对象的属性名,代表我们要获取该bean对象的啥属性值。

name:name属性值对应于<jsp:useBean>动作标记的ID属性值。

查找原理:

web容器在执行<jsp:getProperty>动作标记时依据property属性指定的属性名自动调用javabean对应的getter方法。

 

实例:

1)编写javabean

package henu.action;

public class Rectangle {
     private double width;
     private double length;
     private double area;
     
     private double perimeter;

	public double getWidth() {
		return width;
	}

	public void setWidth(double width) {
		this.width = width;
	}

	public double getLength() {
		return length;
	}

	public void setLength(double length) {
		this.length = length;
	}

	public double getArea() {
		return area;
	}

	public void setArea(double area) {
		this.area = area;
	}

	public double getPerimeter() {
		return perimeter;
	}

	public void setPerimeter(double perimeter) {
		this.perimeter = perimeter;
	}
     
}

2)在jsp中使用该bean

input.jsp
.
.
.
<form action="result.jsp" method="post">
长:<input type="text" name="lenght"/><br/>
宽:<input type="text" name="width"/><br/>
<input type="submit" value="计算"/>
</form>
.
.
.


result.jsp
<body>
<jsp:useBean id="rectangle" class="package henu.action.Rectangle"/> 
<jsp:setProperty property="*" name=rectangle"/>
长:<jsp:getProperty property="length" name="rectangle"/><br/>
宽:<jsp:getProperty property="width" name="rectangle"/><br/>
</body>

 

  

 

posted @ 2017-12-04 00:09  鹏达君  阅读(365)  评论(0编辑  收藏  举报