1.在cmd编译一个servlet时出现程序包javax.servlet和javax.servlet.http不存在
报错的原因:
Tomcat 版本问题,Tomcat 9版本之前的是 javax包,在Tomcat10版本之后,javax包改成了jakarta。
解决方法:
将 import javax.servlet.*; 改成
import jakarta.servlet.*;
也就是说只需要将javax修改为jakarta, javax.servlet.http同理
2.将tomcat服务器lib文件夹中的servlet-api.jar 添加到classpath中
.;D:\Tomcat\apache-tomcat-10.0.27\lib\servlet-api.jar
注意要换成自己的安装路径!!
配置了环境变量索引就可以省略前面指定servlet-api.jar路径的过程(红色部分):
javac -classpath 包的路径 servlet类
javac -classpath D:\Tomcat\apache-tomcat-10.0.27\lib\servlet-api.jar Test-servlet.java
3.网上的教程有将tomcat服务器lib文件夹中的servlet-api.jar 复制到jdk/jre/lib/ext中
(这个方法我失败了,有成功的可以分享一下)
我安装的是 jdk11,没有 jre 这个文件夹,安装 jre 的方法:
1.以管理员的身份运行cmd
2.用cd命令进入jdk的安装目录
cd C:\Program Files\Java\jdk-11.0.17
然后输入下面代码,回车,jdk中就有jre了
jlink.exe --module-path jmods --add-modules java.sql,java.desktop --output jre
jre 的 lib 目录下可能没有 ext,手动创建一个,把servlet-api.jar复制到里面去。
4.Eclipse 中导入servlet-api.jar包
1.项目>右键>properties
2.点Java Build Path
3.选择Libraries点击Classpath然后点击Add Librarie
4.选择Server Runtime,next
点Apache Tomcat v10.0,然后Finish,完事。