目錄
- 報錯情況
- 分析原因
- 解決方法
本文author:@愷龍
報錯情況
在一次使用JSP的jstl時候按照正常引入jstl和使用for each標簽出現了如下報錯:

分析原因
經過一番調查研究發現原因如下:
- JavaEE被Oracle捐獻給Apache了,目前最高版本是 JavaEE8;
- Apache把JavaEE換名了,以后不叫JavaEE了,以后叫做 jakarta EE,
- 以后沒有JavaEE了,以后都叫做Jakarta EE,
- JavaEE8版本升級之后叫做JakartaEE9
- JavaEE8的時候對應的Servlet類名是:javax.servlet.Servlet
- JakartaEE9的時候對應的Servlet類名是:jakarta.servlet.Servlet (包名都換了)
- 如果你之前的專案還是在使用javax.servlet.Servlet,那么你的專案無法直接部署到Tomcat10+版本上,你只能部署到Tomcat9-版本上,在Tomcat9以及Tomcat9之前的版本中還是能夠識別javax.servlet這個包,
總結一下這個原因還是跟之前的"xxx cannot be cast to jakarta.servlet.Servlet "報錯本質原因一樣,
解決方法
tomcat9以前的包都用的這個:

現在就得更換這個包才能正常運行:
換成
jakarta.servlet.jsp.jstl-api-2.0.0.jar
jakarta.servlet.jsp.jstl-2.0.0.jar
這倆包然后匯入就好了
網盤下載:
jakarta.servlet.jsp.jstl-api-2.0.0.jar: https://kohler.lanzouv.com/i1l7M0h1dbad
jakarta.servlet.jsp.jstl-2.0.0.jar :https://kohler.lanzouv.com/ibpqp0h1dbib
歡迎關注公眾號:愚生淺末,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538508.html
標籤:Java
上一篇:【轉】網路加速原理與方法:靜態CDN、動態CDN、全站加速、GAAP、AIA、CLB跨地域部署
下一篇:java中時間表達
