tomcat10:在idea2020.3.3动态web工程中javax与Jakarta冲突解决办法(手动导包不涉及Maven项目)
在访问http://localhost:8080/Demo4_war_exploded/时并未出错,而http://localhost:8080/Demo4_war_exploded/hello出现如下错误:

HTTP状态 500 - 内部服务器错误
类型 异常报告

消息 类com.nwdsl.servlet.HelloSevlet不是Servlet

描述 服务器遇到一个意外的情况,阻止它完成请求。

解决方法如下:
1.当创建第一个servlet程序时,在创建的HelloServlet.java中添加导包语句import.javax.servlet.*;如没有相关依赖,则通过警告提示下载默认名为"Java EE6- JavaEE6"的依赖。如有则添加对应依赖即可。
2.在所属模块中的web->WEB-INF下新建目录lib,把tomcat10安装目录lib文件夹中的servlet-api.jar复制粘贴到新建目录中,右键servlet-api.jar选择Add as Libraries添加依赖到动态web工程中 。
3.在public class HelloServlet implements Servlet{}中通过默认快捷键Alt+insert点击implemet Mothods添加相应方法。手动添加也行。
4.将import javax.servlet.*;语句中的javax改为jakarta即可。
注意事项:笔者在创建第二个servlet程序时,导包语句直接用的import.jakarta.servlet.*;并没有先命名再改名,alt+insert也能成功创建相关方法,并未出现上述错误。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐