最近在学习tomcat的过程中遇到了各种各样、千奇百怪的报错,我在此总结一下,各位引以为戒。(第一次发表文章,有不对的地方请多多包涵并指正)
遇到问题时首先考虑重启tomcat!!!
遇到问题时首先考虑重启tomcat!!!
遇到问题时首先考虑重启tomcat!!!
重要的事情说三遍...
我遇到的第一个问题,不知道怎么重启tomcat。。。
使用service服务的方式启动:
1.找到tomcat的bin目录
2.输入cmd,按enter,进入命令行界面
3.执行"service.bat.install"。(如果之前安装过,需要先移除,service卸载命令:service.bat.remove)
启动Tomcat
在 tomcat 解压路径下的 bin 文件夹内双击打开 “
tomcat8w.exe
”(打开的程序按照自己安装的版本而定),在打开的软件界面点击 “Start” 即可。
第二个问题,IDEA 新建的javaee项目404(点击Servlet404)post get无法访问
在创建javaee项目时,有三个版本的选择(我最初选择了JakartaEE9.1的版本)
这是创建好的项目
配置完Maven和Tomcat,运行后会正常显示jsp的页面
但是!!!在点击Srevlet后就是404
找到这个问题整整花费我两天的时间,重写了七八遍的代码,道心差点破碎了...
后续各种错误全部排除之后,最终决定修改版本。最后我选择了JavaEE8版本后就可以正常跳转了。
看到这个Hello World!真的是泪目了
补充:我的tomcat分别用了8.0版本和9.0版本,都没有解决问题,但是修改JavaEE版本后,就可以正常运行了,具体原因我还没有搞清楚,希望有大佬可以在评论区教教我
第三个问题,在解决完第二个问题后可能会遇到的500报错(这个问题可能在你重启Tomcat后可能会直接解决)
由于我没有保存当时的报错截图,只能将我询问AI时的截图发给大家看了
这是当时的错误代码,大家如果遇到相似的可以来看看。
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client
这个问题显示当前的驱动版本和数据库不匹配
解决思路:1.首先查看自己的数据库版本
1.win+R打开操作系统,输入cmd
2.进入小黑框之后,输入mysql --help,就可以查看版本号了
补充: 如果出现 不是内部或外部命令,也不是可运行的程序或批处理文件。说明没有配置mysql的环境变量。
2.升级 MySQL 客户端或 JDBC 驱动
如果你使用的是较旧版本的 MySQL JDBC 驱动(如 mysql-connector-java
),它可能不支持 MySQL 8.0 及以上版本的 caching_sha2_password
认证插件。
升级JDBC驱动:可以从MySQL官方网站下载最新的驱动程序。
更新依赖:如果你使用的是 Maven 或 Gradle 等构建工具,确保在
pom.xml
或build.gradle
中使用最新的依赖版本。
但是我觉得最有效的解决办法就是重启,hhhhhh
以上就是我分享给大家的问题总结。