如何将Derby数据库与Servlet连接?

时间:2010-02-24 04:47:24

标签: java database servlets jdbc derby

之前我从未连接过java中的数据库。我是否应该知道是否应该使用servlet访问derby数据库?

我查了一下:How do I access a database from my servlet or JSP? 但我看到文章上的评论说这是一种糟糕的连接方式。任何人都可以解释或告诉我最好的方法,我应该编码访问我的德比数据库吗?

非常感谢。

4 个答案:

答案 0 :(得分:6)

确实如此,他们确实没事。我们不会直接从Servlet或JSP访问数据库,这两者都是Web层,不是吗?

那么,该怎么办?获取JDBC教程。 official one是一个很好的选择。这将为您提供从Java连接到数据库的好主意,并掌握JDBC API。之后,您应该阅读DAO pattern以及我们employ that in real apps的方式。

此外,我认为你也应该阅读MVC pattern,因为在我看来你也不是很清楚。

一旦你理解了所有这些,并提出了一个类似玩具的玩具,使用所有这些东西。下一步是查看Connection Pooling机制。

答案 1 :(得分:3)

由于您使用的是servelt,因此必须使用容器行Apache Tomcat。您应该查找像http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html这样的连接池。如果您正在使用任何其他容器,那么它也将具有类似的设置。

其他选项是创建一个单独的DBManager类,用于初始化和返回连接。您可以在servlet中使用此类。

答案 2 :(得分:2)

使用JDBC并拥有应用服务器的应用程序池是一个良好的开端。你也可以使用一些API让你的生活像Hibernate一样简单。

答案 3 :(得分:2)

这是一种“糟糕的方式”,因为它没有使用(JNDI管理的)连接池来获取连接。虽然获取连接的成本“仅”几百毫秒,但这对繁忙的多用户环境有影响。连接池将担心打开和关闭连接并在每次getConnection()调用时立即释放它们,因此它实际上花费的成本几乎为零毫秒。如果在繁忙的多用户环境中对此进行求和,则差异很明显。

连接池通常配置为JNDI数据源的风格,该数据源由相关的servletcontainer管理。由于你没有提到你正在使用哪一个,我可以在最高点看到我的一个答案,其中包含一个Tomcat 6.0目标示例:here

希望这有帮助。