最近在学习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的环境变量。
配置mysql环境变量:https://blog.csdn.net/qq_53709165/article/details/128216428?ops_request_misc=%257B%2522request%255Fid%2522%253A%25227991f571ad54e5c4c5d5d34229d1d99d%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=7991f571ad54e5c4c5d5d34229d1d99d&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-128216428-null-null.142^v100^pc_search_result_base1&utm_term=mysql%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E9%85%8D%E7%BD%AE&spm=1018.2226.3001.4187
2.升级 MySQL 客户端或 JDBC 驱动
如果你使用的是较旧版本的 MySQL JDBC 驱动(如 mysql-connector-java),它可能不支持 MySQL 8.0 及以上版本的 caching_sha2_password 认证插件。
升级JDBC驱动:可以从MySQL官方网站下载最新的驱动程序。
更新依赖:如果你使用的是 Maven 或 Gradle 等构建工具,确保在 pom.xml 或 build.gradle 中使用最新的依赖版本。
但是我觉得最有效的解决办法就是重启,hhhhhh
以上就是我分享给大家的问题总结。