Compile time error: package javax.servlet does not exist import javax.servlet.*
Compile time error: package javax.servlet does not exist import javax.servlet.*
我已经设置了 class 路径如下:
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
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
我也尝试用 classpath 替换 -cp 但我每次仍然收到以下错误:
C:\Program Files\Apache Software Foundation\Tomcat 10.0\webapps 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 文件:-
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 取代,因此您的 import javax.servlet.*
现在需要成为 import jakarta.servlet.*
.
与其现在调整所有内容,不如使用 Tomcat 9 并使用旧的和(到处都有记录)javax.servlet.*
可能会更快乐
我已经设置了 class 路径如下: 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
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
我也尝试用 classpath 替换 -cp 但我每次仍然收到以下错误:
C:\Program Files\Apache Software Foundation\Tomcat 10.0\webapps 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 文件:-
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 取代,因此您的 import javax.servlet.*
现在需要成为 import jakarta.servlet.*
.
与其现在调整所有内容,不如使用 Tomcat 9 并使用旧的和(到处都有记录)javax.servlet.*