繁体   English   中英

编译时错误:package javax.servlet 不存在 import javax.servlet.*

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM