LibServiceImpl和servlet在作用上有什么区别?

LibServiceImpl和servlet在作用上有什么区别?

并且要不要先什么LibService接口之类的?

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

举个简单的例子,就拿咱们的作业来举例子,分为了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层只负责简单的增删改查。

通俗一点讲,他们就像一条流水线,分工合作。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • KAGITO 提问者 #1
    非常感谢!
    2018-07-02 15:26:15
好帮手慕阿莹 2018-07-02 14:20:51

LibService可以写做一个接口LibServiceImpl是LibService的实现类。

LibServiceImpl中更侧重于一些业务逻辑的处理,servlet更侧重于与页面的交互。

比如servlet接收一下参数,然后调用LibServiceImpl中的方法,具体的一下业务逻辑判断,在LibServiceImpl中进行。

这样代码结构清晰。如果遇到一些业务逻辑上的改动,我们直接去LibServiceImpl中去改就可以了。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 KAGITO #1
    题目中"此类中的方法形式与LibDaoImpl类完全一致,用于对LibDaoImpl中对应方法的调用"这句话,意思就是LibService接口和LibDao接口中的方法声明都是一样的吗?那我现在注册一个User,我在RegistServlet中new一个User实例出来,然后调用LibServiceImp的regist方法,这里的regist方法的底层实现又是调用的LibDaoImpl的regist方法?
    2018-07-02 14:30:54
  • 提问者 KAGITO #2
    请问老师能不能以注册为例说一下大致的流程呢?
    2018-07-02 14:40:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师