[英]Compile time error: package javax.servlet does not exist import javax.servlet.*
I have set class path as follow: 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;
and I also tried using jar file at compile time:- 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
我还尝试将 -cp 替换为类路径,但每次仍然出现以下错误:
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 文件:-
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 目前是一个里程碑式的版本,因此对于第一步或有意义的开发工作来说并不是很好,除非您在问题的根本原因之后特别想要 go:
Tomcat 10 is not backwards compatible as the whole Java EE (or whatever label it flew under) is now replaced with the new Jakarta EE, thus your import javax.servlet.*
now needs to be import jakarta.servlet.*
.
与其立即调整所有内容,不如仅将 Tomcat 9 和 go 与旧的(随处记录的) javax.servlet.*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.