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..
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)