问题复现
系统环境:IDEA 2021.2,Tomcat 10
在IDEA中配置好Servlet文件路径,项目结构如下:
Tomcat配置如下:
以ch07_8_tijiao.jsp为例,运行后第一个界面显示正常
但当输入2个数据并点击提交后,servlet出现实例化异常
问题解决
项目结构’web-lib’中导入Tomcat的Tomcat-api.jar包以及servlet-api.jar包,并导入进项目库中
如果Tomcat版本为10.0以下时,做完上面步骤问题消失,可以正常运行,
但当Tomcat版本为10.0时,仍然会显示实例化异常,
根本原因是Tomcat 10的servlet-api中并非旧版本的javax.servlet,而是jakarta.servlet,
此时需要将项目src目录下的java源文件中import javax.servlet全部改为jakarta.servlet,保存后即可正常运行
源代码:
1 | import javax.servlet.ServletException; |
修改后:
1 | import jakarta.servlet.ServletException; |