1.如果在项目所有配置都配置好的情况,你的项目启动未出现任何报错信息:
你可以加入一下配置试一试:
在logging.properties文件中添加一下配置:
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
2.在以上配置后,你的项目可能会出现一些报错信息:
第一点:排查你的tomcat版本是否是10版本最新版,注意tomcat中是自带Servlet-api.jar的包【tomcat10版本就自带新版的,其中就支持新版:jakarta.servlet】
第二点:一般我们都会给项目设置外部依赖,其中就会包:Servlet-api.jar,注意Servlet-api.jar的包现在也分新版和旧版:区别:javax.servlet和jakarta.servlet是Java Servlet API的两个不同的包名。javax.servlet: 这是旧的Servlet API的包名,由Oracle提供,现在称为Java EE。jakarta.servlet: 这是新的Servlet API的包名,由Jakarta EE社区提供,原Java EE变为Jakarta EE。Servlet API是用于开发服务器端的Java Web应用程序的一套技术规范。区别在于,从Java EE 8开始,javax.servlet是在Jakarta EE版本之前的Servlet规范,而jakarta.servlet是Jakarta EE版本之后的规范。大家注意所以注意点来了:满足新版和旧版JDK必须是兼容,我选择的是JDK22,注意是兼容即可,否则会出现很不寻常的错误【例如:多数会指向你的过滤器或者监听器相关的错误信息,这里就不演示错误信息了,大家也不一定就是一样的错误】
第三点:如果出现以上这种混合使用:首先JDK兼容;其次tomcat不能是最新版;使用依赖要记得区分,不能混着导包。再者就是一般情况下我们都是使用旧版的Servlet-api.jar,所以只要tomcat不是新版即可,JDK使用我们常用的即可。