什么是javabean ? javaBean 就是一个类,你自己首先定义好的一个类,编译之后在JSP中直接使用,类似开源的jar包,只不过这个是你自己写的。
javabean 类的一些定义规则:
对于 一个属性 需要有getXXX() setXXX()函数来获得和设置属性的值
并且对于每个访问属性的方法都要设置为pulic访问权限,这样可以方便JSP引擎知道JavaBean的属性和方法 。
构造函数不带参数
例子:
package MathBox;
public class Box {
double length;
double width;
double height;
public Box()
{
length = 0;
width = 0;
height = 0;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double volumn() // 求容积
{
double volumns ;
volumns = width*height*length;
return volumns;
}
public double surfaceArea()
{
double area ;
area = length*width*2 + length*height *2 + width *height*2;
return area;
}
}
那么部署javabean 有两个方法:
1 ;部署class,将class字节码文件复制到web 应用的“WEB-INF\classes”,目录下,如果class 属于某个包,也要相应 的位于该文件下。
2 部署jar包
如果让web服务器上所有的JSP页面都可以使用,那么将class打包成jar文件,复制到Tomcat 安装目录下的lib文件夹下,如果只对当前应用有效,则在WEB-INF下建立一个lib目录,然后复制jar包
javaBean 在jsp 中的使用:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JavaBean Using</title>
</head>
<body>
<jsp:useBean id="box" class="MathBox.Box" scope="page"></jsp:useBean> <!-- 在jsp 中使用javaBean -->
<jsp:setProperty property="length" name="box" value="10"/><!-- 通过标签来设置属性值 -->
<jsp:setProperty property="width" name="box" value="11"/>
<jsp:setProperty property="height" name="box" value="12"/>
<pre>通过标签可以得到属性值:<jsp:getProperty property="length" name="box"/><br>
<jsp:getProperty property="width" name="box"/><br>
<jsp:getProperty property="height" name="box"/><br>
</pre>
<%
// box.setHeight(10);
//box.setLength(11);
//box.setWidth(12);
out.println("在JSP中使用javabean<br/>");
out.println("盒子的长度为:" + box.getLength()+"<br>");
out.println("盒子的宽度为:" + box.getWidth()+"<br>");
out.println("盒子的高度为:" + box.getHeight()+"<br>");
out.println("盒子的 体积为:" + box.volumn()+"<br>");
out.println("盒子的表面积为:" + box.surfaceArea()+"<br>");
%>
</body>
</html>