关于依赖包的问题

关于依赖包的问题

1、json-lib是干什么用的?

2、tomcat-jsp-api是干什么用的,配置文件中注释:最终由web容器提供是什么意思?

3、pom文件中没有导入servlet-api包,为什么?

正在回答

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

5回答

同学,你好!直接用Tomcat的jar包也不行,还是属于编译测试过程中使用。毕竟一个是跟开发相关,一个是发布服务器运行,还是会被区分开。看下图,这个是在项目中直接引入了Tomcat中的jar包,可以看到还是Provided,真正发布运行时还是会使用正在运行的Tomcat的jar包。这样做其实也是为了避免因为版本不一致造成的jar包冲突问题,最后都去使用正在运行的Tomcat的jar包就好了。

http://img1.sycdn.imooc.com//climg/5e532fcb09800b2520601618.jpg如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 慕沐8221787 提问者 #1
    那程序运行时又是如何转换到Tomcat的jar包了呢?什么机制?
    2020-02-24 12:19:59
  • 好帮手慕珊 回复 提问者 慕沐8221787 #2
    你好!运行的时候Tomcat会先加载Tomcat目录下的lib文件夹下的jar包,然后才是加载项目的lib目录下的jar包,所以运行时可以使用Tomcat下的jar包。祝学习愉快!
    2020-02-24 13:47:33
好帮手慕珊 2020-02-23 16:46:57

你好!指的是将项目最终在Tomcat发布运行时,使用的是Tomcat的jar包,而不是当前引入的jar包,当前引入的jar包只在编译测试阶段使用。

来看一下<scope>provided</scope>的作用,当在pom.xml文件添加这句话的时候,查看Target目录下的项目,会发现lib文件夹下并没有这三个jar包。而当把<scope>provided</scope>这句话去掉,lib文件就会出现这三个jar包

http://img1.sycdn.imooc.com//climg/5e523b7c0940418e06360520.jpg

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

  • 提问者 慕沐8221787 #1
    那是不是说tomcat-jsp-api不需要导入,程序可以正常运行?
    2020-02-23 17:12:25
  • 好帮手慕珊 回复 提问者 慕沐8221787 #2
    同学,你好!tomcat-jsp-servlet还是需要导入的,如果不导入会编译报错,像HttpServlet等类就不可以使用了。祝学习愉快!
    2020-02-23 19:34:03
  • 提问者 慕沐8221787 #3
    那为什么不一开始就直接使用Tomcat的jar包呢,这样编译、发布、运行不都搞定了吗?
    2020-02-23 21:56:28
好帮手慕珊 2020-02-23 15:43:09

同学,你好!非常抱歉理解错了同学的意思,因为看到前面老师回复过json-lib的作用,所以以为同学问的是其他内容

1、关于json问题,json在我们的开发中主要结合ajax进行使用,服务器返回json数据在页面中进行展示。我看了一下源码,老师在项目中并没有用到ajax进行数据展示,也没有用到json,把json的依赖去掉后,程序也没有编译错误。

2、关于tomcat-jsp-api的问题,如下图所示:这里并不是没有引入servlet-api,而是通过引入tomcat-jsp-api,导入了三个jar包。除了jsp的jar包,servlet和el的jar包也自动导入了。如果去掉右侧tomcat-jsp-api的依赖,会发现左侧的三个jar包都没有了。这是因为tomcat-jsp-api依赖了servlet和el的内容,可以自动跟着一起导入。

http://img1.sycdn.imooc.com//climg/5e522655097bd20017900996.jpg

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


  • 提问者 慕沐8221787 #1
    上图右红框中的“该jar包最终由Web容器提供“是什么意思?
    2020-02-23 16:16:02
好帮手慕珊 2020-02-23 10:07:45

同学,你好!json-lib通过maven进行下载就可以了,如果想单独下载,可以通过这个链接进行下载:https://mvnrepository.com/search?q=net.sf.json-lib

tomcat-jsp-api不能代替servlet-api,前者用于jsp,后者用于servlet

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

  • 提问者 慕沐8221787 #1
    你们这个回答问题牛头不对马嘴,希望能认真了解学员的问题后再作答。我问的是:1、json-lib在本案例的什么地方用到了? 2、既然tomcat-jsp-api不能代替servlet-api,那么本案例中servlet在没有导入servlet-api的情况下为什么能正常运行,其中的机理是什么?
    2020-02-23 10:25:32
好帮手慕阿满 2020-02-22 16:39:36

同学你好,关于同学的问题:

1、json-lib是一个java类库,提供将Java对象,包括beans, maps, collections等转换成JSON,或者反向转换的功能。

2、tomcat-jsp-api是tomcat的一个jsp-api,提供了jsp的开发的api。

3、没有servlet-api是因为由tomcat提供了。

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

  • 提问者 慕沐8221787 #1
    json-lib在哪里用到了? tomcat-jsp-api可以代替servlet-api吗,这两者有什么区别?
    2020-02-22 21:10:14
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

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

在线咨询

领取优惠

免费试听

领取大纲

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