JSP - 连接到数据库

时间:2013-08-04 14:41:00

标签: java jsp jdbc web

我正在学习如何用Java编写网站,我的问题是连接数据库的正确方法是什么?

从JSP级别连接到数据库(就像Web上提供的许多教程所示)在我看来是一个非常糟糕的主意,因为JSP应仅用于视图,而不是用于逻辑。

我应该创建一个从数据库中获取数据的类吗?并使用“useBean”标记以某种方式初始化它?如果数据库连接失败,我该如何处理异常?我对Java SE了如指掌,但在Java EE中,我是一个完全的初学者,所以任何建议和示例代码都会非常有用。

2 个答案:

答案 0 :(得分:2)

你的直觉是正确的。如果可能的话,您不应该直接从JSP连接到数据库。大多数程序包含多个层。例如:

你有DAO(数据访问对象),它有一个责任:从数据库中获取数据。它并不关心该数据会发生什么,但它会检索它。

然后你有服务层进行业务逻辑,计算等。它不关心数据来自何处,只是假设数据存在(但它来自dao)

然后你有了用户界面层,它准备了在JSP中使用的信息,JSP不能做的转换,过滤掉不需要的信息等等。再次,它不知道任何关于数据来自,它只是从服务层获取。

我建议您像这样构建应用程序。它使测试更容易,因为您只需要测试数据库而不关心UI,或者只测试UI而不关心数据库。最严重的应用程序是这样构建的,尽管通常涉及更多层。

请注意,不需要实际构建DAO层,JPA或Hibernate或Spring Data等系统可以生成大部分内容。

答案 1 :(得分:1)

无论thesaurier_rex说什么是正确的。

但我只是提供更多图层

UI(你的jsp / html)

  1. controller layer()
  2. 服务层(实际操作)
  3. Dao层(将与数据库对话)
  4. 表示层(模型数据)
  5. 您可以获得更多信息here