正在回答
举个简单的例子,就拿咱们的作业来举例子,分为了Servlet,service,dao 三层,
首先Servlet主要用来接收jsp传过来的参数等,在Servlet中创建一个service的实现类对象ls。ls来调用service实现类中的方法,同理在service中创建一个dao的实现类对象。通过调用在dao的实现类对象来调用dao实现类中的方法。
以后我们会用到数据库。我们一般在dao实现类的方法中去从数据库中查询数据。而我们现在就通过作业中的List来代替数据库。
如果,我们需要做一些比较复杂的逻辑判断,都写在dao层中或者Servlet会很乱。代码的耦合度太高
比如,注册的时候。
让Servlet去接收name,password等,然后把它new一个User对象,把这些参数给这个对象赋值。我们直接把这个user传递给ls中的regist方法去查询。
然后我们在service实现类中从传过来的user对象中获取用户名
调用dao层的这个用户名是否存在的方法去查询。
那我们就让dao层专门负责通过用户名查询是否存在这个用户,
查回来之后返回给service,我们就要在service中判断了,dao层给我们的用户存不存在呀,判断后把结果返回给Servlet。
这个例子中,判断是否存在只是简单的业务逻辑,如果很复杂呢?所以我们把这样的业务逻辑放在service层的方法中处理后,再调用dao层的方法或者再返回给Servlet层。
这样,如果我们有业务逻辑需要,直接去service层改就可以了,而dao层只负责简单的增删改查。
通俗一点讲,他们就像一条流水线,分工合作。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星