本章目标
掌握JavaBean的主要作用;
掌握JavaBean的定义格式及使用操作。

 

JavaBean简介
JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,有以下的优点:
可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP 页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。
可利用JavaBean的优点。将常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样一来也可以节省开发所需的时间。

 

JavaBean开发要求
JavaBean本身就是一个类,属于Java的面向对象编程。
在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求:
所有的类必须放在一个包中,在WEB中没有包的是不存在的;
所有的类必须声明为public class,这样才能够被外部所访问;
类中所有的属性都必须封装,即:使用private声明;
封装的属性如果需要被外部所操作,则必须编写对应的setter、getter方法;
一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用。

 

开发第一个JavaBean

package cn.demo;
public class SimpleBean2 {
	private String name;//姓名
	private int age;//年龄
	/*
	 * 封装方法
	 */
	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;
	}
}

 

WEB开发的标准目录结构  

JavaBean简介及基本使用_Java


 WEB项目中各个目录的作用

JavaBean简介及基本使用_html_02


 

使用JSP的page指令导入所需要的JavaBean

<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<%@ page import="cn.demo.*"%><!-- 导入cn.demo包 -->
<html>
<head>
	<title>导入并使用JavaBean</title>
</head>
<body>
<%
	SimpleBean simple=new SimpleBean();//声明并实例化SimpleBean对象
	simple.setName("chaoyi");//设置name属性
	simple.setAge(30);//设置age属性
 %>
 <h3>姓名:<%=simple.getName() %></h3><!-- 输出name属性的内容 -->
 <h3>年龄:<%=simple.getAge() %></h3><!-- 输出age属性的内容 -->
</body>
</html>

效果图:

JavaBean简介及基本使用_html_03


 

使用<jsp:useBean>指令
除了使用import的语句之外,也可以使用JSP中提供的:<jsp:useBean>指令完成操作,指令的操作语法如下所示:
<jsp:useBean id="实例化对象名称" scope="保存范围" class="包.类名称"/>
主要属性:
id:表示实例化对象的名称
scope:表示此对象保存的范围,一共有四种属性范围:page、request、session、application
class:对象所对应的包.类名称

 

使用JSP中的标签指令完成调用

<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean"></jsp:useBean> 
<html>
<head>
	<title>使用JSP中的标签指令完成调用</title>
</head>
<body>
<%
	simple.setName("chaoyi");//设置name属性
	simple.setAge(30);//设置age属性
 %>
 <h3>姓名:<%=simple.getName() %></h3><!-- 输出name属性的内容 -->
 <h3>年龄:<%=simple.getAge() %></h3><!-- 输出age属性的内容 -->
</body>
</html>

 效果图:

JavaBean简介及基本使用_html_04


 

小结
通过JavaBean可以封装JAVA的复杂操作;
JSP中提供了专门的JavaBean操作标签,也可以使用page导入。