Compile time error: package javax.servlet does not exist import javax.servlet.*
我设置的类路径如下:
CLASS_PATH: C:\\\\\\\\Program Files\\\\\\\\Apache Software Foundation\\\\\\\\Tomcat 10.0\\\\\\\\lib;C:\\\\\\\\Program Files (x86)\\\\\\\\Java\\\\\\\\mysql -connector.jar;C:\\\\\\\\Program Files (x86)\\\\\\\\Java\\\\\\\\sqljdbc_8.2\\\\\\\\enu\\\\\\\\mssql-jdbc-8.2.0.jre8.jar;<铅>
而且我还尝试在编译时使用 jar 文件:-
java -cp C:\\\\\\\\Program Files\\\\\\\\Apache Software Foundation\\\\\\\\Tomcat 10.0\\\\\\\\lib\\\\\\\\servlet-api.jar Hello.java
1 2 3 4 5 6 7 8 9 | java -cp"C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\lib\\servlet-api.jar" Hello.java java -cp .;C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\lib\\servlet-api.jar Hello.java java -cp".;"C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\lib\\servlet-api.jar" Hello.java java -cp C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\lib\\servlet-api.jar;. Hello.java java -cp"C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\lib\\servlet-api.jar";. Hello.java |
我也尝试用类路径替换 -cp,但每次仍然出现以下错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | C:\\Program Files\\Apache Software Foundation\\Tomcat 10.0\\webapps\\16 servlet\\WEB-INF\\classes>javac -cp .;servlet-api.jar; Hello.java Hello.java:2: error: package javax.servlet does not exist import javax.servlet.*; ^ Hello.java:3: error: cannot find symbol public class Hello implements Servlet ^ symbol: class Servlet Hello.java:5: error: cannot find symbol public void init(ServletConfig sc)throws ServletException ^ symbol: class ServletConfig location: class Hello Hello.java:5: error: cannot find symbol public void init(ServletConfig sc)throws ServletException ^ symbol: class ServletException location: class Hello Hello.java:9: error: cannot find symbol public ServletConfig getServletConfig() ^ symbol: class ServletConfig location: class Hello Hello.java:13: error: cannot find symbol public void service(ServletRequest req,ServletResponse res)throws ServletException ^ symbol: class ServletRequest location: class Hello Hello.java:13: error: cannot find symbol public void service(ServletRequest req,ServletResponse res)throws ServletException ^ symbol: class ServletResponse location: class Hello Hello.java:13: error: cannot find symbol public void service(ServletRequest req,ServletResponse res)throws ServletException ^ symbol: class ServletException location: class Hello 8 errors |
我的 Hello.java Servlet 文件:-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.io.*; import javax.servlet.*; public class Hello implements Servlet { public void init(ServletConfig sc)throws ServletException { } public ServletConfig getServletConfig() { return null; } public void service(ServletRequest req,ServletResponse res)throws ServletException { String name=req.getParameter("name"); PrintWriter out=res.getWriter(); out.println("Hello"+name); } public String getServletInfo() { return null; } public void destroy() { } } |
tbh 我也在 netbeans IDE 上尝试过其他 Servlet java 程序,它运行完美,但即使在搜索并尝试了所有可能的解决方案之后,我也无法自己明确配置它,请大家帮我解决它。
Tomcat 10 目前是一个里程碑版本,因此对于第一步或有意义的开发工作来说并不是很好,除非您特别想找出问题的根本原因:
Tomcat 10 不向后兼容,因为整个 Java EE(或它所属的任何标签)现在都被新的 Jakarta EE 所取代,因此您的
与其立即调整所有内容,不如使用 Tomcat 9 并使用旧的和(随处可见的)