什么是javabean?有什么用?

什么是javabean?有什么用?,第1张

1、概述:

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和 *** 作这些JavaBean 属性。 换句话说,javabean就是一个java的类,只不过这个类你要按上面提到的一些规则来写,比如必须是公共的啊,无参构造啊等等,按这些规则写了之后,这个javabean可以在程序里被方便的重用,使开发效率提高。

2、介绍:

最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用于帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)。

JavaBean 和 Server Bean(通常称为 Enterprise JavaBean (EJB))有一些基本相同之处。它们都是用一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所驻留服务器上的容器获得其它特性的能力。这使得 bean 的行为根据特定任务和所在环境的不同而有所不同。

3、JavaBean的任务:

(1) 一个开发良好的软件组件应该是一次性地编写,而不需要再重新编写代码以增强或完善功能。

(2) JavaBean组件在任意地方运行是指组件可以在任何环境和平台上使用,这可以满足各种交互式平台的需求。

(3)JavaBean组件在任意地方的重用说的是它能够在包括应用程序、其他组件、文档、Web站点和应用程序构造器工具的多种方案中再利用。

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和 *** 作这些JavaBean 的属性。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算, *** 纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。

汗颜了...

看写的这代码.. 写了个demo... 有注释. 可以参考下..

import java.sql.Connection

import java.sql.DriverManager

import java.sql.SQLException

public class ConnectMySQLDatabase {

public static final String URL = "jdbc:mysql://localhost:3306/test"

public static final String USER = "root"

public static final String PASSWORD = "root"

public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"

static {

try {

// 加载数据库驱动.. 在整个JVM里面. 只需要执行一次就OK.. 所以一般设计成静态代码块里面..

Class.forName(DRIVER_CLASS)

} catch (ClassNotFoundException e) {

e.printStackTrace()

}

}

/**

* 工具类.. 都是静态方法.. 所以一般构造器私有..

*/

private ConnectMySQLDatabase() {

}

/**

* 获得连接的方法.

*

* @return

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

Connection conn = null

try {

conn = DriverManager.getConnection(URL, USER, PASSWORD)

return conn

} catch (SQLException e) {

throw e

}

}

/**

* 测试方法.

*

* @param args

*/

public static void main(String[] args) {

Connection conn = null

try {

conn = ConnectMySQLDatabase.getConnection()

// do something what u want ...

} catch (SQLException e) {

e.printStackTrace()

} finally {

ConnectMySQLDatabase.close(conn)

}

}

/**

* 关闭数据库连接方法.

*

* @param conn

*/

public static void close(Connection conn) {

if (null != conn) {

try {

conn.close()

} catch (SQLException e) {

e.printStackTrace()

}

conn = null

}

}

}

关于你提出的问题...稍微解释下..

调用Class.forName("org.gjt.mm.mysql.Driver")这个方法.. 可能会throws出..

java.lang.ClassNotFoundException.

所以得. try catch 一下.. 才能通过编译..

DriverManager.getConnection(connStr, "root", "root")

这些异常同理....

"一个项目下的JSP文件能用".. 知道问什么能用吗. ??

应为jsp编译成Servlet的时候.. 所有的异常都给throws了.. 不用显示的写try catch了..

最后提个设计的建议..

类似于这种 *** 作数据库的工具类..

最好设计成全静态的方法.. 不用连次数据库就new个对象.

That's all I want to say..


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9986014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存