我正在学习如何用Java编写网站,我的问题是连接数据库的正确方法是什么?
从JSP级别连接到数据库(就像Web上提供的许多教程所示)在我看来是一个非常糟糕的主意,因为JSP应仅用于视图,而不是用于逻辑。
我应该创建一个从数据库中获取数据的类吗?并使用“useBean”标记以某种方式初始化它?如果数据库连接失败,我该如何处理异常?我对Java SE了如指掌,但在Java EE中,我是一个完全的初学者,所以任何建议和示例代码都会非常有用。
答案 0 :(得分:2)
你的直觉是正确的。如果可能的话,您不应该直接从JSP连接到数据库。大多数程序包含多个层。例如:
你有DAO(数据访问对象),它有一个责任:从数据库中获取数据。它并不关心该数据会发生什么,但它会检索它。
然后你有服务层进行业务逻辑,计算等。它不关心数据来自何处,只是假设数据存在(但它来自dao)
然后你有了用户界面层,它准备了在JSP中使用的信息,JSP不能做的转换,过滤掉不需要的信息等等。再次,它不知道任何关于数据来自,它只是从服务层获取。
我建议您像这样构建应用程序。它使测试更容易,因为您只需要测试数据库而不关心UI,或者只测试UI而不关心数据库。最严重的应用程序是这样构建的,尽管通常涉及更多层。
请注意,不需要实际构建DAO层,JPA或Hibernate或Spring Data等系统可以生成大部分内容。
答案 1 :(得分:1)
无论thesaurier_rex说什么是正确的。
但我只是提供更多图层
UI(你的jsp / html)
您可以获得更多信息here