JavaBean, 咖啡豆。 JavaBean是一种开发规范,可以说是一种技术。
JavaBean就是一个普通的java类。只有符合以下规定才能称之为javabean:
1)必须提供无参数的构造方法
2)类中属性都必须私有化(private)
3)该类提供公开的getter 和 setter方法
JavaBean的使用场景:
1)项目中用到实体对象(entity)符合javabean规范
2)EL表达式访问对象属性。${student.name} 调用getName()方法,符合javabean规范。
3)jsp标签中的属性赋值。 setNum(Integer num)。符合javabean规范。
4)jsp页面中使用javabean。符合javabean规范
问题:
以下方法哪些属于javabean的规范的方法? 答案 :( 1,3,5,6 )
注意: boolean类型的get方法名称叫 isXXX()方法
1)getName() 2)getName(String name)
3)setName(String name) 4)setName()
5) setFlag(boolean flag) 6)isFlag()
jsp实例代码
<%@ page language="java" import="java.util.*,com.gqx.entity.Student" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'JavaBean.jsp' starting page</title>
</head> <body>
<%-- 在jsp中创建实体对象
<%
Student student =new Student();
student.setName("gqxing");
student.setAge(21);
%>
--%>
<%--创建实体对象 --%>
<jsp:useBean id="stu" class="com.gqx.entity.Student"></jsp:useBean>
<%--复制 --%>
<jsp:setProperty property="name" name="stu" value="gqxing"/>
<jsp:getProperty property="name" name="stu"/>
</body>
</html>
运行结果如图
正如前面所说的,一旦我们去掉无参的构造方法,如去掉Student的无参构造方法
public Student() {
}
这个时候就会报500误了(我这里将所有的500错误全都指定成了505错误。
当我们在这里的时候
<jsp:useBean id="stu" class="com.gqx.entity.Student"></jsp:useBean>
就会调用无参的构造函数,而如果将无参的构造函数删除之后,就会发生错误。
这里有他人总结的javabean在设计模式中的作用,还有MVC的简介