简要
如果你是初学者,你的依赖包名飘红报错,则注意你的tomcat的容器版本和依赖版本
apache为了软件的规范,做了以下修改,也是tomcat9与10的一个最最主要的区别:
Tomcat中javax.servlet 换成了 jaraka.servlet
如果你copy的代码原本无误,后来到一个新的环境发生了报错,并且定位发现是包名飘红,并且保证添加了依赖,应该是这个问题。
总之,使用的依赖、代码和容器,都尽量是同一个版本,或者你确定它们兼容
否则,就会导致内部运行时候找不到对应的包而报错。
详细
一般来说,初学者不使用Maven进行开发,则需要进行一系列的配置
而普通开发需要使用tomcat的依赖包,并且在对应版本的tomcat容器里运行:
如果使用不同的版本,例如以下情况
使用tomcat9的代码、tomcat10的依赖,包括容器(或者反过来,反正版本就没统一)
总之,使用的依赖、代码和容器,都必须是同一个版本,否则就导致内部运行时候找不到对应的包而报错。(可见tomcat并没有进行向下兼容)