有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么直接从Servlet访问DAO是一种糟糕的做法?

我读了一篇关于使用Java进行web开发的良好实践的主题,发现从Servlet调用DAO是一种不好的实践。这个主题本身没有解释为什么这是一个糟糕的实践,尽管它清楚地解释了,按照最佳实践,我们需要一个中间类(例如:服务类)来调用DAO

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


共 (1) 个答案

  1. # 1 楼答案

    答案是为了可用性

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

    Servlet旨在对参数进行解析/格式化;但他们必须对业务逻辑一无所知

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

    • servlets/JSP
    • swing guis
    • 弹簧控制器
    • 蚂蚁任务
    • 等等