我正在做一些JSP教程,我不明白bean类的意义。它只是获取和设置方法。为什么我们使用它们?
public class UserData {
String username;
String email;
int age;
public void setUsername( String value )
{
username = value;
}
public void setEmail( String value )
{
email = value;
}
public void setAge( int value )
{
age = value;
}
public String getUsername() { return username; }
public String getEmail() { return email; }
public int getAge() { return age; }
}
和jsp是
<jsp:useBean id="user" class="user.UserData" scope="session"/>
<HTML>
<BODY>
You entered<BR>
Name: <%= user.getUsername() %><BR>
Email: <%= user.getEmail() %><BR>
Age: <%= user.getAge() %><BR>
</BODY>
</HTML>
答案 0 :(得分:11)
Bean获得了Java“一次编写,随处运行”范例的所有好处。 暴露给应用程序的Bean的属性,事件和方法 构建工具可以控制。
Bean可能被设计为在不同的语言环境中正确运行,这使得它成为可能 在全球市场中有用。
可以提供辅助软件来帮助人配置Bean。这个软件是 仅在设置该组件的设计时参数时才需要。它 不需要包含在运行时环境中。 Bean的配置设置可以保存在持久存储中并恢复 晚些时候。
Bean可以注册以接收来自其他对象的事件,并可以生成事件 被发送到其他对象。
使用 scriptlet (那些<% %>
事物)确实非常气馁,因为taglibs(如JSTL)和EL(Expression Language的诞生,那些十多年前的${}
事。 scriptlet 的主要缺点是:
可重用性:您无法重用scriptlet。
可替换性:您不能将scriptlet抽象化。
OO-ability:你不能使用继承/组合。
可调试性:如果scriptlet中途抛出异常,你得到的只是一个空白页面。
可测试性:scriptlet不可单元测试。
可维护性:每个saldo需要更多时间来维护混杂/混乱/重复的代码逻辑。
答案 1 :(得分:5)
JavaBeans的主要原因是可重用性。 JavaBeans可以在JSP,Servlet和其他Java技术中使用。
这是一个简单的可序列化对象,用于将许多对象封装成一个。即,我们可以发送一个完全定义的bean,以便通过线路单独发送每个属性。
答案 2 :(得分:3)
访问器(getter)和mutator(setter)方法通常用于提供封装。由于实例变量是私有的,因此只能通过这些方法在类外部访问。
所以外行:在不破坏使用代码的其他人的代码的情况下,在实施代码中进行更改的能力是封装的关键优势。
答案 3 :(得分:2)
我正在阅读JavaFX Properties and Binding那里我几乎认为JavaBeans是段落的意思。
Java编程语言可以封装数据 在一个对象中,但它不强制执行任何特定的命名 您定义的方法的约定。例如,您的代码 可以定义一个Person类,它封装了一个名字和一个 姓。但是没有命名约定,不同的程序员可能会 为这些方法选择不同的名称:read_first(),firstName(), getFN()等都是完全有效的选择。但是,有 不保证这些名称对其他开发者有意义。
JavaBeans组件架构解决了这个问题 定义一些简单的命名约定,以实现一致性 项目。在JavaBeans编程中,这些是完整的签名 方法是:public void setFirstName(String name),public String getFirstName(),public void setLastName(String name)和public String getLastName()。这两种命名模式都很容易识别 人类程序员和编辑工具,例如NetBeans IDE。 在JavaBeans术语中,Person对象据说包含 firstName和lastName属性。
JavaBeans模型还提供对复杂属性类型的支持, 加上一个事件传递系统。它还包含一些支持 类,都可以作为java.beans包下的API使用。 因此,掌握JavaBeans编程需要学习 必需的命名约定及其相应的API。 (更多 有关JavaBeans的背景阅读,请参阅JavaBeans课程 Java教程)。
答案 4 :(得分:1)
你可以拥有没有bean的JSP,但结果是,处理逻辑的代码和处理网站美观的代码都会混乱。这并不理想,特别是因为在大多数情况下,一群人编码逻辑而另一群人负责美学,因此豆子允许一定程度的分离,这使得建立网站的人们的生活更加轻松。
Beans还允许您重用代码,这是您应该使用它们的另一个原因。
答案 5 :(得分:1)
主要用于REUSABILTY。它是一个简单的可序列化对象,用于将许多对象封装为一个。