为什么直接从Servlet访问DAO是一种不好的做法?

时间:2018-01-01 16:48:19

标签: java servlets dao

我正在阅读有关使用Java进行Web开发的良好实践的主题,并发现从Servlet调用DAO是一种不好的做法。主题本身没有解释为什么这是一个不好的做法,尽管它清楚地解释了,遵循最佳实践,我们需要一个中间类(例如:一个服务类)来调用DAO。

为什么这是一种不好的做法?对此有任何理论和/或技术解释吗?

1 个答案:

答案 0 :(得分:3)

为了便于使用,答案

  • DAO解析对数据库对象的访问。
  • Servlet必须仅用作外观来处理远程请求和响应(通常是HTTP)。

Servlets旨在进行参数的解析/格式化;但他们一定不了解业务逻辑。

因此,servlet和DAO之间需要一个中间级别的业务逻辑类。此级别的类必须知道业务规则,数据库架构以及如何使用它。此业务逻辑不能与任何部署架构耦合,因此可以从许多外观中使用(并重复使用):

  • 的servlet / JSP的,
  • swing guis,
  • 弹簧控制器,
  • Ant任务,