JavaBean可以用来将现实世界的一个实体,包括属性和操作都封装成一个java对象。Jsp通过<jsp:userBean>、<jsp:setProperty>、<jsp:getProperty>动作使用javaBean,对他们进行实例化、赋值和存取操作。JavaBean是用java语言描述的软件组件模型,实际上是一个特殊的java类,遵循一个借口格式。程序中往往有重复使用的部分,当需要这个功能的时候就可以调用相应的javaBean。javaBean作为一个特殊的类,需要满足以下规范。
javaBean类是一个public类,可供其他类实例化。
javaBean类如果有构造方法,则这个构造方法必须是没有参数的构造方法。
javaBean类所有的属性最好定义为私有的。
javaBean类定义public的方法setXXX()和getXXX()来对属性进行操作,其中Xxx是首字母大写的私有变量名称。getXXX()方法用来获取属性值,
setX
XX
()用来设置属性值。
下面是一个javaBean计算器的例子
这个是jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>javabeanCalculator</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<%@page import="javatest.JbCalculator"%>
<!--导入JbCalculator-->
</head>
<body>
<div align="center"style="background-color:#CDAA7D;width:150px;">
<form action="" method="post">
输入第一个数:<br/>
<input type="text" name="num1" size="15"/><br/>
请选择运算符:<br/>
<input type="radio" name="flag" value="1" /><font size="5"><b>+</b></font>
<input type="radio" name="flag" value="2" /><font size="5"><b>-</b></font>
<input type="radio" name="flag" value="3" /><font size="5"><b>*</b></font>
<input type="radio" name="flag" value="4" /><font size="5"><b>/</b></font>
<br/>
输入第二个数:<br/>
<input type="text" name="num2"size="15"/><br/>
<input type="submit" value="计算"/><br/>
</form>
<!--实例化JbCalculator类的coc对象-->
<jsp:useBean id="coc" class="javatest.JbCalculator" scope="page"/>
<!—直接使用自动赋值,前提是form表中的属性名要跟JbCalculator中的属性名相匹配-->
<jsp:setProperty property="*" name="coc"/>
<!—调用compter()方法进行运算并把结果赋值给result-->
<%
int result=coc.comupter();
%>
输出的结果为:<%=result %><br/>
</div>
</body>
</html>
这个是处理计算的java文件
package javatest;
public class JbCalculator {
//要计算的第一个数
private int num1;
//要计算的第二个数
private int num2;
//用1、2、3、4分别代表+、-、*、/的运算符
private int flag;
//用来保存结果
private int result;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getFlag() {
return flag;
}
public void setFlag(int flag) {
this.flag = flag;
}
//用来计算的函数
public int comupter() {
switch (flag) {
case 1:result=num1+num2;break;
case 2:result=num1-num2;break;
case 3:result=num1*num2;break;
case 4:result=num1/num2;break;
default:
break;
}
return result;
}
}