当前位置: 首页 > news >正文

Tomcat与Servlet加载问题

Tomcat与Servlet、JSP、JDK的版本适配问题(解决访问出现404和500的问题)

在Tomcat的官网中,我们可以看到不同版本的Tomcat适配的JDK、Servlet、Jsp以及EL的版本,如下:

由于我使用的是Tomcat10.0.12的版本,而我使用Maven导入的依赖如下

javax.servlet

javax.servlet-api

4.0.1

javax.servlet.jsp

javax.servlet.jsp-api

2.3.2-b01

这将导致Tomcat版本无法兼容Servlet版本(tomcat10将JavaEE更换成了Jakarta® EE,所以原Servlet包"javax.servlet.“更改成了"jakarta.servlet.”),我们在500的图中根本原因的第一行也可以看到:Register cannot be cast to class Jakarta.servlet.Servlet,即我使用的是Servlet是javax包里的,而Tomcat能够识别(适配)的是Jakarta包里的,而javax包里的Servlet类无法转换为Jakarta包里的Servlet类,所以显示了例外情况里的第一行:类cn.ken.controller.Register不是Servlet。

三、解决方法
既然是由于Tomcat版本与Servlet版本不匹配造成,那么自然就有对应的两种解决方法

1、降低Tomcat版本
因为tomcat10才改成Jakarta,故只需将Tomcat版本降低到10以下,例如Tomcat9等。

当然还要结合具体情况进行分析,让使用的Tomcat版本能够匹配自己使用的JSP或


http://www.mrgr.cn/news/16214.html

相关文章:

  • shell脚本编写注意事项
  • YOLOv9改进策略【模型轻量化】| 利用PP-LCnet改进RepNCSPELAN4
  • shell脚本--正则表达式
  • 量化投资策略与技术学习PART1.1:量化选股之再谈多因子模型(二)
  • JDBC的使用及案例
  • 全国设计院排名 工程项目管理营业额二〇二三年排名
  • 基于STM32的RFID高速收费系统(论文+源码+实物)
  • Java 虚方法表(虚函数)
  • JS设计模式之“名片设计师” - 工厂方法模式
  • APP 数据抓取 - Charles 抓包工具的使用(Charles 端口配置、CA 证书配置、Charles Android 模拟器配置)
  • 又一个免费代码生成工具
  • gpt开发
  • JavaScript的对象详解
  • C--四种排序方法的补充
  • 足底筋膜炎怎么治疗效果好
  • 掌握AIGC的魔法:编写高质量提示词的艺术与科学
  • 【C++11及其特性】左值和右值
  • 高级字符串算法
  • 算法设计与分析:实验四 动态规划—鸡蛋掉落问题
  • Java之初始泛型