0 起因
自己用的是Tomcat 9.0.69,老师用的是Tomcat 9.0.87。本以为都是9.0.x,差别不会很大,但是老师演示的时候他没导入mysql包查询数据库的servlet就不能运行,而我的却可以,于是问了GPT,得到以下答复。

所以我把之前模块的mysql包复制到了WEB-INF/lib下,结果Tomcat反而启动都启动不了。

1 0KB的jar包
研究了半天才发现——不知道什么原因,复制的mysql包大小竟然是0KB!!!,导致了一系列意料之外的错误。


2 Tomcat 9.0.69与Tomcat 9.0.87
从自己的解决经历来看,有以下总结。
Tomcat 9.0.69即使没在WEB-INF添加lib(jar包),也可以正常使用jdbc的代码,servlet查询数据库并显示执行也正常
Tomcat 9.0.87没在WEB-INF添加lib(jar包),会在执行访问数据库相关的servlet时,报错如下:

解决上述报错(少jar包的错误)也很简单,直接把jar包放到WEB-INF/lib下就可以,不需要执行Add as Library...,可能是Tomcat 9.0.87自己会去那个目录下找包。
但是如果是正常写JDBC访问代码,比如之前单独写Java程序访问数据库的时候,添加的lib要执行Add as Library...操作,不然就识别不到导入的mysql包。

结果:

419

被折叠的 条评论
为什么被折叠?



