servlet去调service,然后再去调用dao
来源:3-1 实体创建
哇哦88888888
2020-02-28 08:05:37
老师,你在视频里面讲的时候,servlet去调service,然后再去调用dao,这个步骤感觉太麻烦了,这里面多用一个接口,这样设计有什么好处呢,sevlet拿到请求数据之后,直接去操作数据库或者处理数据不是更容易理解和方便吗
1回答
1、这个是为了让我们的代码实现低耦合,也就是不要让代码有太强的关联性,不然如果需要修改一处,那么很有可能就是要修改很多地方了。

同学不理解是因为现在的工程中还没有涉及到业务逻辑。
举个例子
查询一个id是 1的图书。现在呢,这个图书在打折,9折。
我们可以在Servlet中接收页面传给我们的id。调用Service中通过id查询的方法。然后Service再调用dao中通过id查询的方法。
同学可能觉得,这不是多此一举吗?直接在servlet中调用Dao中的方法不就可以了吗?
但是比如遇上打折呢?我们就把查询出来的图书,给它的价格改动一下再返回给Servlet。
Servlet就只管接收参数去调用Service ,Dao就直管查询数据。
而具体的业务逻辑就交给Service了。比如,给查询出来的图书价格乘以0.9 ,再把打完折的图书返回给Servlet。
这个是简单的业务逻辑,在实际工作中,有更为复杂的业务逻辑,为了让代码更加清晰,我们让它们各司其职,把业务处理都交给service。把查询交给dao。把参数的接收等交给servlet。
这里是为了让同学习惯这种开发方式,这个题目中基本上没有涉及到业务处理。同学可以在service的方法中直接调用dao中对应的方法就可以了。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题