我有bean做一些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>
解决方法
> Bean获得了Java的“一次写入,无处不在”的范例的所有好处.
暴露给应用程序的Bean的属性,事件和方法
生产工具可以控制.
> Bean可能被设计为在不同的区域中正确地运行,这使得它成为可能
在全球市场有用.
>可以提供辅助软件来帮助一个人配置一个Bean.这个软件是
仅当该组件的设计时参数被设置时才需要.它
不需要包含在运行时环境中.
Bean的配置设置可以保存在持久存储中并恢复
晚些时候.
> Bean可以注册以从其他对象接收事件,并且可以生成事件
被发送到其他对象.
暴露给应用程序的Bean的属性,事件和方法
生产工具可以控制.
> Bean可能被设计为在不同的区域中正确地运行,这使得它成为可能
在全球市场有用.
>可以提供辅助软件来帮助一个人配置一个Bean.这个软件是
仅当该组件的设计时参数被设置时才需要.它
不需要包含在运行时环境中.
Bean的配置设置可以保存在持久存储中并恢复
晚些时候.
> Bean可以注册以从其他对象接收事件,并且可以生成事件
被发送到其他对象.
十多年以前,使用scriptlet(这些<%%>的东西)确实是非常气馁的,因为taglibs(如JSTL)和EL(Expression Language,那些${})的诞生. scriptlet的主要缺点是:
>可重用性:您不能重复使用scriptlet.
可替换性:你不能使scriptlet抽象.
> OO能力:你不能使用继承/组合.
> Debugability:如果scriptlet在中途抛出异常,那么你所得到的只是一个空白的页面.
>可测试性:scriptlet不是单元测试的.
>可维护性:为了保持混合/混乱/重复的代码逻辑,需要更多的时间.